Files

332 lines
18 KiB
Plaintext

.text:0000000000023851 lea rax, sub_2A850
.text:0000000000023858 mov [rdi+44Ch], rax
.text:000000000002385F lea rax, sub_2C8A0
.text:0000000000023866 mov [rdi+454h], rax
.text:000000000002386D lea rax, sub_2CC10
.text:0000000000023874 mov [rdi+45Ch], rax
.text:000000000002387B lea rax, nullsub_5
.text:0000000000023882 mov [rdi+464h], rax
.text:0000000000023889 lea rax, sub_26EF0
.text:0000000000023890 mov [rdi+474h], rax
.text:0000000000023897 mov [rdi+47Ch], rax
.text:000000000002389E mov [rdi+48Ch], rax
.text:00000000000238A5 lea rax, sub_2A180
.text:00000000000238AC mov [rdi+46Ch], rax
.text:00000000000238B3 lea rax, sub_2D900
.text:00000000000238BA mov [rdi+4A4h], rax
.text:00000000000238C1 lea rax, sub_2D8F0
.text:00000000000238C8 mov [rdi+4ACh], rax
.text:00000000000238CF lea rax, sub_2D920
.text:00000000000238D6 mov [rdi+494h], rax
.text:00000000000238DD lea rax, sub_2D910
.text:00000000000238E4 mov [rdi+49Ch], rax
.text:00000000000238EB lea rax, sub_2CC30
.text:00000000000238F2 mov [rdi+55Ch], rax
.text:00000000000238F9 lea rax, sub_32670
.text:0000000000023900 mov [rdi+4B4h], rax
.text:0000000000023907 lea rax, sub_35E00
.text:000000000002390E mov [rdi+4C4h], rax
.text:0000000000023915 lea rax, sub_35E40
.text:000000000002391C mov [rdi+4CCh], rax
.text:0000000000023923 lea rax, sub_2CCF0
.text:000000000002392A mov [rdi+4BCh], rax
.text:0000000000023931 lea rax, sub_326B0
.text:0000000000023938 mov [rdi+4D4h], rax
.text:000000000002393F lea rax, sub_2CD10
.text:0000000000023946 mov [rdi+4DCh], rax
.text:000000000002394D lea rax, sub_2CEF0
.text:0000000000023954 mov [rdi+4E4h], rax
.text:000000000002395B lea rax, sub_2D100
.text:0000000000023962 mov [rdi+4ECh], rax
.text:0000000000023969 lea rax, sub_2D2C0
.text:0000000000023970 mov [rdi+4F4h], rax
.text:0000000000023977 lea rax, sub_2D410
.text:000000000002397E mov [rdi+4FCh], rax
.text:0000000000023985 lea rax, sub_2D3A0
.text:000000000002398C mov [rdi+504h], rax
.text:0000000000023993 lea rax, sub_2D670
.text:000000000002399A mov [rdi+50Ch], rax
.text:00000000000239A1 lea rax, sub_2D7D0
.text:00000000000239A8 mov [rdi+514h], rax
.text:00000000000239AF lea rax, sub_2A830
.text:00000000000239B6 mov [rdi+51Ch], rax
.text:00000000000239BD lea rax, sub_22330
.text:00000000000239C4 mov [rdi+564h], rax
.text:00000000000239CB lea rax, sub_22380
.text:00000000000239D2 mov [rdi+56Ch], rax
.text:00000000000239D9 lea rax, sub_223D0
.text:00000000000239E0 mov [rdi+574h], rax
.text:00000000000239E7 lea rax, sub_220B0
.text:00000000000239EE mov [rdi+57Ch], rax
.text:00000000000239F5 lea rax, sub_22210
.text:00000000000239FC mov [rdi+584h], rax
.text:0000000000023A03 lea rax, sub_224A0
.text:0000000000023A0A mov [rdi+58Ch], rax
.text:0000000000023A11 lea rax, sub_225A0
.text:0000000000023A18 mov [rdi+594h], rax
.text:0000000000023A1F lea rax, sub_22630
.text:0000000000023A26 mov [rdi+59Ch], rax
.text:0000000000023A2D lea rax, sub_22750
.text:0000000000023A34 mov [rdi+5A4h], rax
.text:0000000000023A3B lea rax, sub_21C70
.text:0000000000023A42 mov [rdi+5ACh], rax
.text:0000000000023A49 lea rax, sub_21E00
.text:0000000000023A50 mov [rdi+5B4h], rax
.text:0000000000023A57 lea rax, sub_220A0
.text:0000000000023A5E mov [rdi+5BCh], rax
.text:0000000000023A65 lea rax, sub_22A10
.text:0000000000023A6C mov [rdi+524h], rax
.text:0000000000023A73 lea rax, sub_22A00
.text:0000000000023A7A mov [rdi+554h], rax
.text:0000000000023A81 lea rax, sub_2CEC0
.text:0000000000023A88 mov [rdi+53Ch], rax
.text:0000000000023A8F lea rax, sub_2CEE0
.text:0000000000023A96 mov [rdi+52Ch], rax
.text:0000000000023A9D lea rax, sub_2CED0
.text:0000000000023AA4 mov [rdi+534h], rax
.text:0000000000023AAB lea rax, sub_229D0
.text:0000000000023AB2 mov [rdi+544h], rax
.text:0000000000023AB9 retn
.text:0000000000023AB9 ; ---------------------------------------------------------------------------
.text:0000000000023ABA align 20h
.text:0000000000023AC0
.text:0000000000023AC0 loc_23AC0: ; CODE XREF: sub_237C0+Fj
.text:0000000000023AC0 sub eax, 5
.text:0000000000023AC3 cmp eax, 1
.text:0000000000023AC6 ja locret_23DC0
.text:0000000000023ACC lea rax, sub_10BF0
.text:0000000000023AD3 lea rdx, sub_26F00
.text:0000000000023ADA mov [rdi+414h], rax
.text:0000000000023AE1 lea rax, sub_10DF0
.text:0000000000023AE8 mov [rdi+484h], rdx
--
.text:000000000002A850 sub_2A850 proc near ; DATA XREF: sub_237C0+91o
.text:000000000002A850 mov dword ptr [rdi+32Eh], 80000h
.text:000000000002A85A xor eax, eax
.text:000000000002A85C cmp byte ptr [rdi+235h], 10h
.text:000000000002A863 jz short loc_2A870
.text:000000000002A865 retn
.text:000000000002A865 ; ---------------------------------------------------------------------------
.text:000000000002A866 align 10h
.text:000000000002A870
.text:000000000002A870 loc_2A870: ; CODE XREF: sub_2A850+13j
.text:000000000002A870 mov eax, 1
.text:000000000002A875 xor edx, edx
.text:000000000002A877 xor ecx, ecx
.text:000000000002A879 mov byte ptr [rdi+340h], 0
.text:000000000002A880 mov [rdi+336h], ax
.text:000000000002A887 lea rax, unk_BF4D8
.text:000000000002A88E mov dword ptr [rdi+32Ah], 1312D00h
.text:000000000002A898 cmp word ptr [rax], 0
.text:000000000002A89C mov [rdi+0CEh], dx
.text:000000000002A8A3 setnz al
.text:000000000002A8A6 mov [rdi+0E6h], cx
.text:000000000002A8AD mov dword ptr [rdi+332h], 8000h
.text:000000000002A8B7 movzx eax, al
.text:000000000002A8BA mov dword ptr [rdi+33Ch], 32303232h
.text:000000000002A8C4 mov dword ptr [rdi+1C1h], 7530h
.text:000000000002A8CE retn
.text:000000000002A8CE sub_2A850 endp
.text:000000000002A8CE
.text:000000000002A8CE ; ---------------------------------------------------------------------------
.text:000000000002A8CF align 10h
.text:000000000002A8D0
.text:000000000002A8D0 ; =============== S U B R O U T I N E =======================================
.text:000000000002A8D0
.text:000000000002A8D0
.text:000000000002A8D0 ; __int64 __fastcall ps2000_ps220x_get_timebase(ps2000_context_struc *a1, signed __int16 a2, signed int a3, _DWORD *a4, _WORD *a5, signed int a6, _DWORD *a7)
.text:000000000002A8D0 ps2000_ps220x_get_timebase proc near ; DATA XREF: sub_237C0+21o
.text:000000000002A8D0
.text:000000000002A8D0 var_50 = qword ptr -50h
.text:000000000002A8D0 var_48 = qword ptr -48h
.text:000000000002A8D0 var_40 = qword ptr -40h
.text:000000000002A8D0 arg_0 = qword ptr 8
.text:000000000002A8D0
.text:000000000002A8D0 push r15
.text:000000000002A8D2 push r14
.text:000000000002A8D4 push r13
.text:000000000002A8D6 push r12
.text:000000000002A8D8 mov r12, rdi
.text:000000000002A8DB push rbp
.text:000000000002A8DC mov rbp, r8
.text:000000000002A8DF push rbx
.text:000000000002A8E0 mov rbx, rcx
.text:000000000002A8E3 sub rsp, 28h
.text:000000000002A8E7 movzx eax, word ptr [rdi+0D6h]
.text:000000000002A8EE add al, [rdi+0CEh]
.text:000000000002A8F4 add al, [rdi+0DEh]
.text:000000000002A8FA add al, [rdi+0E6h]
.text:000000000002A900 cmp al, 2
.text:000000000002A902 jz loc_2AAF0
.text:000000000002A908 ja loc_2AAC8
.text:000000000002A90E xor ecx, ecx
.text:000000000002A910 mov r13d, 1
.text:000000000002A916 cmp al, 1
.text:000000000002A918 jnz loc_2AAE8
.text:000000000002A91E
.text:000000000002A91E loc_2A91E: ; CODE XREF: ps2000_ps220x_get_timebase+20Dj
.text:000000000002A91E ; ps2000_ps220x_get_timebase+22Bj
.text:000000000002A91E xor r8d, r8d
.text:000000000002A921 cmp r9w, 100h
.text:000000000002A927 ja loc_2AAB3
.text:000000000002A92D test r9w, r9w
.text:000000000002A931 mov eax, 1
.text:000000000002A936 cmovle r9d, eax
.text:000000000002A93A movsx r9d, r9w
.text:000000000002A93E mov eax, r9d
.text:000000000002A941 imul eax, edx
.text:000000000002A944 imul eax, r13d
.text:000000000002A948 cmp si, 13h
.text:000000000002A94C setle dil
.text:000000000002A950 cmp cx, si
.text:000000000002A953 setle cl
.text:000000000002A956 and edi, ecx
.text:000000000002A958 mov ecx, eax
.text:000000000002A95A not ecx
.text:000000000002A95C shr ecx, 1Fh
.text:000000000002A95F test dil, cl
.text:000000000002A962 jz loc_2AAE8
.text:000000000002A968 mov edi, [r12+332h]
.text:000000000002A970 lea ecx, [rdi-200h]
.text:000000000002A976 cmp ecx, eax
.text:000000000002A978 jle loc_2AAE8
.text:000000000002A97E movsd xmm0, cs:qword_A4C60
.text:000000000002A986 test si, si
.text:000000000002A989 jnz loc_2AB00
.text:000000000002A98F
.text:000000000002A98F loc_2A98F: ; CODE XREF: ps2000_ps220x_get_timebase+241j
.text:000000000002A98F mov eax, [r12+32Ah]
.text:000000000002A997 pxor xmm1, xmm1
.text:000000000002A99B pxor xmm5, xmm5
.text:000000000002A99F cvtsi2sd xmm5, r9d
.text:000000000002A9A4 cvtsi2sd xmm1, rax
.text:000000000002A9A9 movsd [rsp+58h+var_40], xmm5
.text:000000000002A9AF divsd xmm0, xmm1
.text:000000000002A9B3 mulsd xmm0, cs:qword_A4C48
.text:000000000002A9BB mulsd xmm0, xmm5
.text:000000000002A9BF movsd [rsp+58h+var_50], xmm0
.text:000000000002A9C5 test rbp, rbp
.text:000000000002A9C8 jz short loc_2AA3F
.text:000000000002A9CA pxor xmm0, xmm0
.text:000000000002A9CE movsd xmm1, cs:qword_A4C50
.text:000000000002A9D6 mov r15d, 0FFFFFFFAh
.text:000000000002A9DC xor r14d, r14d
.text:000000000002A9DF cvtsi2sd xmm0, edx
.text:000000000002A9E3 divsd xmm1, xmm0
.text:000000000002A9E7 movsd [rsp+58h+var_48], xmm1
.text:000000000002A9ED
.text:000000000002A9ED loc_2A9ED: ; CODE XREF: ps2000_ps220x_get_timebase+16Dj
.text:000000000002A9ED pxor xmm1, xmm1
.text:000000000002A9F1 mov rax, cs:qword_A4C58
.text:000000000002A9F8 cvtsi2sd xmm1, r15d ; y
.text:000000000002A9FD movq xmm0, rax ; x
.text:000000000002AA02 call _pow
.text:000000000002AA07 cvtsd2ss xmm0, xmm0
.text:000000000002AA0B cvtss2sd xmm0, xmm0
.text:000000000002AA0F mulsd xmm0, [rsp+58h+var_48]
.text:000000000002AA15 cvttsd2si rax, xmm0
.text:000000000002AA1A pxor xmm0, xmm0
.text:000000000002AA1E mov eax, eax
--
.data:00000000000BF4D8 unk_BF4D8 db 1 ; DATA XREF: sub_2A850+37o
.data:00000000000BF4D9 db 0
.data:00000000000BF4DA db 1
.data:00000000000BF4DB db 0
.data:00000000000BF4DC word_BF4DC dw 1 ; DATA XREF: _ps2000_context_init+2Br
.data:00000000000BF4DC ; ps2000_apply_fix+32w ...
.data:00000000000BF4DE db 0
.data:00000000000BF4DF db 0
.data:00000000000BF4E0 byte_BF4E0 db 4 dup(0FFh), 55h, 99h, 0AAh, 66h, 0Ch, 0, 1, 80h, 3 dup(0)
.data:00000000000BF4E0 ; DATA XREF: sub_27BD0+F7o
.data:00000000000BF4E0 db 0E0h, 0Ch, 80h, 6, 80h, 3 dup(0), 2Ch, 0Ch, 80h, 4
.data:00000000000BF4E0 db 80h, 2, 0, 0FCh, 0A7h, 0Ch, 80h, 3, 2 dup(80h), 82h
.data:00000000000BF4E0 db 4, 3 dup(0), 4, 3 dup(0), 0Ch, 0, 1, 80h, 3 dup(0)
.data:00000000000BF4E0 db 0A0h, 0Ch, 0, 5, 80h, 4 dup(0), 0Ch, 2 dup(0), 80h
.data:00000000000BF4E0 db 2 dup(0), 0FAh, 0EAh, 0Ch, 0, 1, 80h, 3 dup(0), 0B0h
.data:00000000000BF4E0 db 4, 3 dup(0), 4, 3 dup(0), 4, 3 dup(0), 4, 1Bh dup(0)
.data:00000000000DF480
.data:00000000000DF480
.data:00000000000DF480
.data:00000000000DF480 unk_DF480 db 31h ; 1 ; DATA XREF: sub_27BD0+122o
.data:00000000000DF481 db 0, 65h, 2 dup(0), 0A4h, 70h, 4 dup(0FFh), 0AAh, 99h
.data:00000000000DF481 db 55h, 66h, 30h, 0, 80h, 1, 3 dup(0), 7, 30h, 1, 60h
.data:00000000000DF481 db 1, 3 dup(0), 8, 30h, 1, 20h, 1, 0, 80h, 3Fh, 2Dh, 30h
.data:00000000000E9900 a0541 db '05:41',0 ; DATA XREF: sub_27BD0+10Eo
.data:00000000000E9906 db 65h, 2 dup(0), 0A4h, 70h, 4 dup(0FFh), 0AAh, 99h, 55h
.data:00000000000E9906 db 66h, 30h, 0, 80h, 1, 3 dup(0), 7, 30h, 1, 60h, 1, 3 dup(0)
.data:00000000000E9906 db 8, 30h, 1, 20h, 1, 0, 80h, 3Fh, 2Dh, 30h, 0, 0C0h, 1
.data:00000000000E9906 db 4 dup(0), 30h, 0, 80h, 1, 3 dup(0), 9, 30h, 0, 20h
.data:00000000000F3D80 byte_F3D80 db 3, 0, 43h, 2 dup(0), 2, 0Eh, 0Fh dup(0), 3, 0, 53h
.data:00000000000F3D80 ; DATA XREF: sub_280C0+20Eo
.data:00000000000F3D80 db 2 dup(0), 2, 0Eh, 0Fh dup(0), 10h, 2 dup(0), 0Eh, 0
.data:00000000000F3D80 db 2, 18h, 4Dh, 0, 2, 18h, 94h, 0, 2, 17h, 0EAh, 0, 2
.data:00000000000F67E0 byte_F67E0 db 3, 0, 43h, 2 dup(0), 2, 0Eh, 0Fh dup(0), 3, 0, 53h
.data:00000000000F67E0 ; DATA XREF: sub_280C0+286o
.data:00000000000F67E0 db 2 dup(0), 2, 0Eh, 0Fh dup(0), 10h, 2 dup(0), 0Eh, 0
.data:00000000000F8B80 byte_F8B80 db 3, 0, 43h, 2 dup(0), 2, 16h, 0Fh dup(0), 3, 0, 53h
.data:00000000000F8B80 ; DATA XREF: sub_280C0+13Eo
.data:00000000000F8B80 db 2 dup(0), 2, 16h, 0Fh dup(0), 10h, 2 dup(0), 16h, 0
.data:00000000000F8B80 db 2, 22h, 8, 0, 2, 22h, 4Eh, 0, 2, 22h, 38h, 0, 2, 22h
.data:00000000000F8B80 db 0Bh dup(0), 10h, 0, 0DCh, 3, 0, 0A3h, 0F8h, 0E0h, 0C5h
.data:00000000000F8B80 db 0F0h, 25h, 2 dup(0F0h), 0E5h, 82h, 15h, 82h, 70h, 2
.data:00000000000F8B80 db 15h, 83h, 0, 6, 0, 0ECh, 3, 0, 0E0h, 0C8h, 38h, 0F0h
.data:00000000000F8B80 db 0E8h, 22h, 0Fh dup(0), 1, 11h dup(0)
.data:00000000000FC2D8 ; pthread_key_t key
.data:00000000000FC2D8 key dd 151h ; DATA XREF: .text:000000000000DC67r
.data:00000000000FC2D8 ; destr_function+Br ...
.data:00000000000FC2DC word_FC2DC dw 0FFFFh ; DATA XREF: sub_4B1A0+1E5r
.data:00000000000FC2DE align 20h
.data:00000000000FC2E0 dq offset off_BE4C0
.data:00000000000FC2E0 _data ends
.data:00000000000FC2E0
.bss:00000000000FC300 ; ===========================================================================
.bss:00000000000FC300
.bss:00000000000FC300 ; Segment type: Uninitialized
.bss:00000000000FC300 ; Segment permissions: Read/Write
.bss:00000000000FC300 ; Segment alignment '32byte' can not be represented in assembly
.bss:00000000000FC300 _bss segment para public 'BSS' use64
.bss:00000000000FC300 assume cs:_bss
.bss:00000000000FC300 ;org 0FC300h
.bss:00000000000FC300 assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
.bss:00000000000FC300 byte_FC300 db ? ; DATA XREF: sub_F7D0r
.bss:00000000000FC300 ; sub_F7D0+28w
.bss:00000000000FC301 align 8
.bss:00000000000FC308 word_FC308 dw ? ; DATA XREF: ps2000_apply_fix:loc_F990w
.bss:00000000000FC308 ; sub_127B0:loc_127E8r
.bss:00000000000FC30A align 10h
.bss:00000000000FC310 qword_FC310 dq ? ; DATA XREF: sub_14230:loc_14400r
.bss:00000000000FC310 ; sub_14230+1E8r ...
.bss:00000000000FC318 qword_FC318 dq ? ; DATA XREF: sub_14230+1Er
.bss:00000000000FC318 ; sub_14230+36r ...
.bss:00000000000FC320 byte_FC320 db ? ; DATA XREF: sub_17200+63o
.bss:00000000000FC320 ; sub_17200+F1r ...
.bss:00000000000FC321 align 2
.bss:00000000000FC322 byte_FC322 db 3Eh dup(?) ; DATA XREF: sub_17200:loc_17300r
.bss:00000000000FC360 unk_FC360 db ? ; ; DATA XREF: sub_16DB0+B9o
.bss:00000000000FC361 db ? ;
.bss:00000000000FC362 byte_FC362 db ? ; DATA XREF: sub_16DB0+DEr
.bss:00000000000FC363 db 3Dh dup(?)
.bss:00000000000FC3A0 dword_FC3A0 dd ? ; DATA XREF: sub_17400:loc_177F9r
.bss:00000000000FC3A0 ; sub_17400+406w ...