Function at 0x433280
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
mov eax, 0x4bf8
call fcn.004765e0
mov eax, dword [0x497080]
xor eax, esp
mov dword [esp + 0x4bf4], eax
mov ecx, dword [0x4a8c90]
push esi
push edi
cmp ecx, dword [0x4a8c94]
je 0x434f13
movss xmm0, dword [0x4894d4]
xor esi, esi
mov edi, dword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov edx, dword [sym.imp.KERNEL32.dll_WriteProcessMemory]
movss dword [esp + 0x3c], xmm0
mov dword [0x4a87fc], 0
mov dword [esp + 0x7c], esi
nop dword [eax]
add esi, esi
movups xmm0, xmmword [ecx + esi*8]
movd esi, xmm0
movaps xmmword [esp + 0x40], xmm0
mov dword [esp + 0x10], esi
cmp esi, dword [0x4a880c]
jne 0x433306
cmp dword [esp + 0x44], 0
je 0x434ee1
cmp byte [0x4a8773], 0
je 0x43333f
push 0
push 4
lea eax, [esp + 0x26c]
mov dword [esp + 0x26c], 0x3f99999a
push eax
mov eax, dword [0x4a880c]
add eax, 0xdf00
push eax
push dword [0x4a87a0]
call edx
mov edx, dword [sym.imp.KERNEL32.dll_WriteProcessMemory]
cmp byte [0x4a865e], 0
je 0x433372
push 0
push 4
lea eax, [esp + 0x268]
mov dword [esp + 0x268], 0x4479c000
push eax
mov eax, dword [0x4a880c]
add eax, 0xff0
push eax
push dword [0x4a87a0]
call edx
cmp byte [0x4a8801], 0
je 0x4333b6
push 0x20
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x4333b6
push 0
push 4
lea eax, [esp + 0x270]
mov dword [esp + 0x270], 0x41980000
push eax
mov eax, dword [0x4a880c]
add eax, 0xe980
push eax
push dword [0x4a87a0]
call dword [sym.imp.KERNEL32.dll_WriteProcessMemory]
cmp byte [0x4a879e], 0
je 0x4333ed
push 0
push 4
lea eax, [esp + 0x274]
mov dword [esp + 0x274], 0x42960000
push eax
mov eax, dword [0x4a880c]
add eax, 0xdfd8
push eax
push dword [0x4a87a0]
call dword [sym.imp.KERNEL32.dll_WriteProcessMemory]
cmp byte [0x4a8810], 0
mov ecx, dword [esp + 0x48]
jne 0x433407
cmp byte [0x4a8803], 0
je 0x4339c7
mov edx, dword [esp + 0x44]
mov eax, esi
or eax, edx
je 0x4339cb
cmp ecx, 0x20001
je 0x433429
cmp ecx, 0x20000
jne 0x4339cb
push 0
push 0xc
lea eax, [esp + 0x1b8]
add esi, 0xe38
push eax
push esi
push dword [0x4a87a0]
call edi
movq xmm0, qword [esp + 0x1b0]
lea eax, [esp + 0x270]
mov edi, dword [esp + 0x1b8]
push 0
push 4
push eax
mov eax, dword [0x4a8814]
add eax, 0xf7ca84
movq qword [esp + 0x3c], xmm0
push eax
push dword [0x4a87a0]
movq qword [esp + 0xb8], xmm0
mov dword [esp + 0xc0], edi
call dword [sym.imp.KERNEL32.dll_ReadProcessMemory]
push 0
push 4
lea eax, [esp + 0x27c]
push eax
mov eax, dword [esp + 0x27c]
add eax, 0xfe8
push eax
push dword [0x4a87a0]
call dword [sym.imp.KERNEL32.dll_ReadProcessMemory]
push 0
push 0xc
lea eax, [esp + 0x2f4]
push eax
mov eax, dword [esp + 0x280]
add eax, 0xe38
push eax
push dword [0x4a87a0]
call dword [sym.imp.KERNEL32.dll_ReadProcessMemory]
push 0
push 0xc
lea eax, [esp + 0x88]
push eax
push esi
push dword [0x4a87a0]
call dword [sym.imp.KERNEL32.dll_ReadProcessMemory]
movq xmm0, qword [esp + 0x80]
xorps xmm3, xmm3
movq qword [0x4a8c60], xmm0
sub esp, 0xc
movss xmm0, dword [esp + 0x8c]
mov ecx, esp
subss xmm0, dword [esp + 0x2f8]
movss xmm2, dword [esp + 0xb0]
movss xmm1, dword [esp + 0xb4]
addss xmm2, xmm3
addss xmm1, dword [0x489404]
mov eax, dword [esp + 0x94]
movss dword [0x4a8c84], xmm0
movss xmm0, dword [esp + 0x90]
subss xmm0, dword [esp + 0x2fc]
unpcklps xmm2, xmm1
mov dword [0x4a8c68], eax
movq qword [ecx], xmm2
movss dword [0x4a8c88], xmm0
movss xmm0, dword [esp + 0x94]
subss xmm0, dword [esp + 0x300]
movss dword [0x4a8c8c], xmm0
movss xmm0, dword [esp + 0xb8]
addss xmm0, xmm3
movss dword [esp + 0x1e8], xmm0
mov eax, dword [esp + 0x1e8]
mov dword [ecx + 8], eax
lea ecx, [esp + 0x2ec]
call fcn.00432890
movq xmm0, qword [esp + 0x3c]
mov ecx, esp
mov byte [esp + 0x1b], al
movq qword [ecx], xmm0
mov dword [ecx + 8], edi
lea ecx, [esp + 0x260]
call fcn.00432890
mov cl, byte [esp + 0x1b]
add esp, 0xc
or cl, al
mov esi, dword [esp + 0x10]
je 0x4339bd
push 0
push 1
lea eax, [esp + 0x247]
push eax
lea eax, [esi + 0xf40]
push eax
push dword [0x4a87a0]
call dword [sym.imp.KERNEL32.dll_ReadProcessMemory]
movss xmm0, dword [esp + 0x258]
subss xmm0, dword [esp + 0x2e4]
movss xmm1, dword [0x4a8c88]
mulss xmm1, xmm1
cvttss2si eax, xmm0
movss xmm0, dword [0x4a8c84]
mulss xmm0, xmm0
mov dword [esp + 8], eax
cdq
sub eax, edx
addss xmm1, xmm0
mov edi, eax
movss xmm0, dword [0x4a8c8c]
mulss xmm0, xmm0
sar edi, 1
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x433664
sqrtsd xmm0, xmm0
jmp 0x433669
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
xorps xmm2, xmm2
cvtsd2ss xmm2, xmm0
movss xmm0, dword [0x497310]
comiss xmm0, xmm2
movss dword [esp + 0x30], xmm2
jb 0x4339bd
cmp byte [0x4a8810], 0
mov al, byte [esp + 0x23f]
je 0x43382c
test al, al
jne 0x43382c
cvtps2pd xmm0, xmm2
sub esp, 8
mov dword [esp + 0xe8], 0xe302ac2d
lea eax, [esp + 0x58]
mov dword [esp + 0xec], 0x29e7a3f0
mov dword [esp + 0xf0], 0xb706fea4
mov dword [esp + 0xf4], 0xc18213f1
mov dword [esp + 0xf8], 0xe302ac77
movaps xmm1, xmmword [esp + 0xe8]
movsd qword [esp], xmm0
push eax
movaps xmmword [esp + 0x5c], xmm1
lea eax, [esp + 0x504]
mov dword [esp + 0x100], 0x29e7a3f0
mov dword [esp + 0x104], 0xb706fea4
mov dword [esp + 0x108], 0xc18213f1
xorps xmm1, xmmword [esp + 0xfc]
push eax
movaps xmmword [esp + 0x60], xmm1
call fcn.00413640
cvttss2si edx, dword [esp + 0x268]
lea eax, [esp + 0x508]
push eax
push 0x4a1970
cvttss2si ecx, dword [esp + 0x26c]
call fcn.0042e7f0
mov eax, dword [0x4a8660]
lea ecx, [esp + 0x510]
movss xmm3, dword [0x4894d4]
add esp, 0x14
movss xmm0, dword [eax + 0x18bc]
mov eax, dword [eax + 0x18b8]
movaps xmm2, xmm0
push 0
push ecx
push ecx
lea ecx, [esp + 0xc0]
mov dword [esp], 0xbf800000
push ecx
mov ecx, eax
movss dword [esp + 0x40], xmm0
mov dword [esp + 0x4c], eax
call fcn.0041fd90
movss xmm0, dword [esp + 0xb0]
xorps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x4337c5
mov eax, dword [esp + 0x38]
movss xmm1, dword [esp + 0x2c]
divss xmm1, dword [eax]
subss xmm0, xmm1
addss xmm0, dword [0x4893f8]
movd xmm3, dword [esp + 8]
mov ecx, 0x4a17a0
movd xmm2, edi
cvtdq2ps xmm3, xmm3
cvttss2si eax, xmm0
cvtdq2ps xmm2, xmm2
movd xmm0, eax
mov eax, edi
cdq
sub eax, edx
sar eax, 1
cvtdq2ps xmm0, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss dword [esp + 0xb0], xmm0
movss xmm0, dword [esp + 0x254]
subss xmm0, xmm1
movss xmm1, dword [esp + 0x2e4]
call fcn.0042ebe0
movss xmm2, dword [esp + 0x30]
mov al, byte [esp + 0x23f]
cmp byte [0x4a8803], 0
je 0x4339bd
cmp al, 1
jne 0x4339bd
cvtps2pd xmm0, xmm2
sub esp, 8
mov dword [esp + 0x108], 0xb051e335
lea eax, [esp + 0x58]
mov dword [esp + 0x10c], 0x7d786d0
mov dword [esp + 0x110], 0xb70693c2
mov dword [esp + 0x114], 0xc18213f1
mov dword [esp + 0x118], 0xe302ac77
movaps xmm1, xmmword [esp + 0x108]
movsd qword [esp], xmm0
push eax
movaps xmmword [esp + 0x5c], xmm1
lea eax, [esp + 0x604]
mov dword [esp + 0x120], 0x29e7a3f0
mov dword [esp + 0x124], 0xb706fea4
mov dword [esp + 0x128], 0xc18213f1
xorps xmm1, xmmword [esp + 0x11c]
push eax
movaps xmmword [esp + 0x60], xmm1
call fcn.00413640
cvttss2si edx, dword [esp + 0x268]
lea eax, [esp + 0x608]
push eax
push 0x4a1970
cvttss2si ecx, dword [esp + 0x26c]
call fcn.0042e7f0
mov eax, dword [0x4a8660]
lea ecx, [esp + 0x610]
movss xmm3, dword [0x4894d4]
add esp, 0x14
movss xmm0, dword [eax + 0x18bc]
mov eax, dword [eax + 0x18b8]
movaps xmm2, xmm0
push 0
push ecx
push ecx
lea ecx, [esp + 0xc8]
mov dword [esp], 0xbf800000
push ecx
mov ecx, eax
movss dword [esp + 0x44], xmm0
mov dword [esp + 0x4c], eax
call fcn.0041fd90
movss xmm0, dword [esp + 0xb8]
xorps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x433963
mov eax, dword [esp + 0x38]
movss xmm1, dword [esp + 0x30]
divss xmm1, dword [eax]
subss xmm0, xmm1
addss xmm0, dword [0x4893f8]
movd xmm3, dword [esp + 8]
mov eax, edi
cdq
sub eax, edx
movd xmm2, edi
sar eax, 1
cvttss2si ecx, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movd xmm0, ecx
mov ecx, 0x4a17c0
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm3, xmm3
movss dword [esp + 0xb8], xmm0
movss xmm0, dword [esp + 0x254]
cvtdq2ps xmm2, xmm2
subss xmm0, xmm1
movss xmm1, dword [esp + 0x2e4]
call fcn.0042ebe0
mov ecx, dword [esp + 0x48]
mov edi, dword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov edx, dword [esp + 0x44]
cmp byte [0x4a8772], 0
je 0x433f9f
mov eax, esi
or eax, edx
je 0x433f9f
cmp ecx, 0x250005
jne 0x433f9f
push 0
push 0xc
lea eax, [esp + 0x1ac]
add esi, 0xe38
push eax
push esi
push dword [0x4a87a0]
call edi
movq xmm0, qword [esp + 0x1a4]
lea eax, [esp + 0x278]
mov edi, dword [esp + 0x1ac]
push 0
push 4
push eax
mov eax, dword [0x4a8814]
add eax, 0xf7ca84
movq qword [esp + 0x3c], xmm0
push eax
push dword [0x4a87a0]
call dword [sym.imp.KERNEL32.dll_ReadProcessMemory]
push 0
push 4
lea eax, [esp + 0x284]
push eax
mov eax, dword [esp + 0x284]
add eax, 0xfe8
push eax
push dword [0x4a87a0]
call dword [sym.imp.KERNEL32.dll_ReadProcessMemory]
push 0
push 0xc
lea eax, [esp + 0x2dc]
push eax
mov eax, dword [esp + 0x288]
add eax, 0xe38
push eax
push dword [0x4a87a0]
call dword [sym.imp.KERNEL32.dll_ReadProcessMemory]
push 0
push 0xc
lea eax, [esp + 0x94]
push eax
push esi
push dword [0x4a87a0]
call dword [sym.imp.KERNEL32.dll_ReadProcessMemory]
movq xmm0, qword [esp + 0x8c]
lea ecx, [esp + 0x2b0]
mov eax, dword [esp + 0x94]
sub esp, 0xc
movq qword [0x4a8c60], xmm0
movss xmm0, dword [esp + 0x98]
subss xmm0, dword [esp + 0x2e0]
mov dword [0x4a8c68], eax
mov eax, esp
movss dword [0x4a8c84], xmm0
movss xmm0, dword [esp + 0x9c]
subss xmm0, dword [esp + 0x2e4]
movss dword [0x4a8c88], xmm0
movss xmm0, dword [esp + 0xa0]
subss xmm0, dword [esp + 0x2e8]
movss dword [0x4a8c8c], xmm0
movq xmm0, qword [esp + 0x3c]
movq qword [eax], xmm0
mov dword [eax + 8], edi
call fcn.00432890
add esp, 0xc
test al, al
je 0x433e1b
movss xmm1, dword [0x4a8c88]
movss xmm0, dword [0x4a8c84]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm1, xmm0
movss xmm0, dword [0x4a8c8c]
mulss xmm0, xmm0
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x433b77
sqrtsd xmm0, xmm0
jmp 0x433b7c
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movss xmm0, dword [0x497304]
comiss xmm0, xmm1
movss dword [esp + 0x30], xmm1
jb 0x433e1b
push 0xff
lea eax, [esp + 0x3fc]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [esp + 0x6f8]
push 0xff
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [esp + 0x50], 0x3a11497
lea eax, [esp + 0x1e0]
mov dword [esp + 0x54], 0x91073548
mov dword [esp + 0x58], 0x3be1e2f
mov dword [esp + 0x5c], 0x210aaa11
movaps xmm1, xmmword [esp + 0x50]
mov dword [esp + 0x60], 0x9ed5a091
mov dword [esp + 0x64], 0xbe7f2bee
mov dword [esp + 0x68], 0x2a2d4a76
mov dword [esp + 0x6c], 0x15d983bf
movaps xmm2, xmmword [esp + 0x60]
push eax
movaps xmmword [esp + 0x1e4], xmm1
lea eax, [esp + 0x3fc]
movaps xmmword [esp + 0x1f4], xmm2
mov dword [esp + 0x184], 0xe302ac77
mov dword [esp + 0x188], 0x29e7a3f0
mov dword [esp + 0x18c], 0xb706fea4
mov dword [esp + 0x190], 0xc18213f1
xorps xmm1, xmmword [esp + 0x184]
mov dword [esp + 0x194], 0x9ed52729
mov dword [esp + 0x198], 0xbe7f2bee
mov dword [esp + 0x19c], 0x2a2d4a76
mov dword [esp + 0x1a0], 0x15d983bf
xorps xmm2, xmmword [esp + 0x194]
push eax
movaps xmmword [esp + 0x1e8], xmm1
movaps xmmword [esp + 0x1f8], xmm2
call fcn.00413640
movss xmm0, dword [esp + 0x38]
lea eax, [esp + 0x58]
cvtps2pd xmm0, xmm0
mov dword [esp + 0x128], 0x852c9c52
mov dword [esp + 0x12c], 0x29e7a39d
mov dword [esp + 0x130], 0xb706fea4
mov dword [esp + 0x134], 0xc18213f1
mov dword [esp + 0x138], 0xe302ac77
movaps xmm1, xmmword [esp + 0x128]
movsd qword [esp], xmm0
push eax
movaps xmmword [esp + 0x5c], xmm1
lea eax, [esp + 0x704]
mov dword [esp + 0x140], 0x29e7a3f0
mov dword [esp + 0x144], 0xb706fea4
mov dword [esp + 0x148], 0xc18213f1
xorps xmm1, xmmword [esp + 0x13c]
push eax
movaps xmmword [esp + 0x60], xmm1
call fcn.00413640
mov eax, dword [0x4a8660]
add esp, 0xc
movss xmm3, dword [0x4894d4]
movss xmm0, dword [eax + 0x18bc]
mov esi, dword [eax + 0x18b8]
movaps xmm2, xmm0
push 0
lea eax, [esp + 0x400]
movss dword [esp + 0x38], xmm0
push eax
push ecx
lea eax, [esp + 0xd0]
mov dword [esp], 0xbf800000
push eax
mov ecx, esi
call fcn.0041fd90
movss xmm0, dword [esp + 0xc0]
xorps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x433da8
movss xmm1, dword [esp + 0x30]
divss xmm1, dword [esi]
subss xmm0, xmm1
addss xmm0, dword [0x4893f8]
cvttss2si edx, dword [esp + 0x2b4]
cvttss2si ecx, dword [esp + 0x2b0]
cvttss2si eax, xmm0
movd xmm0, eax
lea eax, [esp + 0x3f8]
cvtdq2ps xmm0, xmm0
push eax
push 0x4a17c0
movss dword [esp + 0xc8], xmm0
call fcn.0042e7f0
movss xmm0, dword [esp + 0x2bc]
lea eax, [esp + 0x700]
addss xmm0, dword [0x489474]
cvttss2si ecx, dword [esp + 0x2b8]
push eax
push 0x4a17c0
cvttss2si edx, xmm0
call fcn.0042e7f0
add esp, 0x10
mov edi, dword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov esi, dword [esp + 0x10]
lea eax, [esp + 0x28c]
push 0
push 4
push eax
lea eax, [esi + 0x2df4]
push eax
push dword [0x4a87a0]
call edi
movss xmm0, dword [esp + 0x28c]
mov eax, esi
or eax, dword [esp + 0x44]
movss dword [esp + 0x2c], xmm0
je 0x434ed5
mov eax, dword [esp + 0x48]
cmp eax, 0x20
je 0x433e6d
cmp eax, 0x21
jne 0x434ed5
comiss xmm0, dword [0x4893fc]
jb 0x434ed5
movss xmm1, dword [0x489498]
comiss xmm1, xmm0
jb 0x434ed5
push 0
push 4
lea eax, [esp + 0x298]
push eax
mov eax, dword [0x4a8814]
add eax, 0xf7ca84
push eax
push dword [0x4a87a0]
call edi
push 0
push 4
lea eax, [esp + 0x29c]
push eax
mov eax, dword [esp + 0x29c]
add eax, 0xfe8
push eax
push dword [0x4a87a0]
call edi
push 0
push 0xc
lea eax, [esp + 0x2d0]
push eax
mov eax, dword [esp + 0x2a0]
add eax, 0xe38
push eax
push dword [0x4a87a0]
call edi
push 0
push 0xc
lea eax, [esp + 0xa0]
push eax
lea eax, [esi + 0xe38]
push eax
push dword [0x4a87a0]
call edi
movss xmm1, dword [esp + 0x9c]
subss xmm1, dword [esp + 0x2cc]
movss xmm2, dword [esp + 0x98]
subss xmm2, dword [esp + 0x2c8]
movq xmm0, qword [esp + 0x98]
movq qword [0x4a8c60], xmm0
movss xmm0, dword [esp + 0xa0]
subss xmm0, dword [esp + 0x2d0]
mov eax, dword [esp + 0xa0]
movss dword [0x4a8c88], xmm1
mulss xmm1, xmm1
mov dword [0x4a8c68], eax
movss dword [0x4a8c84], xmm2
mulss xmm2, xmm2
movss dword [0x4a8c8c], xmm0
mulss xmm0, xmm0
addss xmm1, xmm2
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x434685
sqrtsd xmm0, xmm0
jmp 0x43468a
cmp ecx, 0x240005
jne 0x433e21
push 0
push 0xc
lea eax, [esp + 0x2ac]
push eax
lea eax, [esi + 0xe38]
push eax
push dword [0x4a87a0]
call edi
push 0
push 4
lea eax, [esp + 0x288]
push eax
lea eax, [esi + 0xfc8]
push eax
push dword [0x4a87a0]
call edi
mov esi, dword [esp + 0x280]
lea eax, [esp + 0x284]
push 0
push 4
push eax
mov eax, dword [0x4a8814]
add eax, 0xf7ca84
push eax
push dword [0x4a87a0]
call edi
push 0
push 4
lea eax, [esp + 0x290]
push eax
mov eax, dword [esp + 0x290]
add eax, 0xfe8
push eax
push dword [0x4a87a0]
call edi
push 0
push 0xc
lea eax, [esp + 0xd0]
push eax
mov eax, dword [esp + 0x294]
add eax, 0xe38
push eax
push dword [0x4a87a0]
call edi
movss xmm0, dword [esp + 0xc8]
lea ecx, [esp + 0x20c]
subss xmm0, dword [esp + 0x2a4]
mov edx, esi
mov dword [esp + 0x214], 0
movss dword [esp + 0x30], xmm0
movss xmm0, dword [esp + 0xcc]
subss xmm0, dword [esp + 0x2a8]
movss dword [esp + 0x38], xmm0
movss xmm0, dword [esp + 0xd0]
subss xmm0, dword [esp + 0x2ac]
movss dword [esp + 0x2c], xmm0
xorps xmm0, xmm0
movq qword [esp + 0x20c], xmm0
call fcn.0042efb0
movq xmm0, qword [esp + 0x2a4]
sub esp, 0xc
mov eax, dword [esp + 0x2b8]
mov ecx, esp
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
lea ecx, [esp + 0x24c]
call fcn.00432890
add esp, 0xc
test al, al
je 0x433e21
movss xmm0, dword [esp + 0x30]
movss xmm1, dword [esp + 0x38]
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm0, xmm1
movss xmm1, dword [esp + 0x2c]
mulss xmm1, xmm1
addss xmm0, xmm1
xorps xmm1, xmm1
cvtps2pd xmm0, xmm0
ucomisd xmm1, xmm0
ja 0x434121
sqrtsd xmm0, xmm0
jmp 0x434126
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
cvtsd2ss xmm0, xmm0
comiss xmm0, dword [0x497108]
movss dword [esp + 8], xmm0
jbe 0x4341aa
cmp byte [0x4a87a8], 0
je 0x4341aa
push 0x400
lea eax, [esp + 0x7fc]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
movss xmm0, dword [esp + 0x14]
lea eax, [esp + 0x804]
cvtps2pd xmm0, xmm0
add esp, 4
movsd qword [esp], xmm0
push dword [esp + 0x214]
push str._s___0.fm
push eax
call fcn.0043d5b0
cvttss2si edx, dword [esp + 0x258]
add esp, 0x14
lea eax, [esp + 0x7f8]
push eax
push 0x4a1970
cvttss2si ecx, dword [esp + 0x248]
call fcn.0042e7f0
add esp, 8
cmp byte [0x4a1c24], 0
je 0x434225
cmp dword [esp + 0x214], 7
jne 0x434225
push 0x400
lea eax, [esp + 0xbfc]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
movss xmm0, dword [esp + 0x14]
lea eax, [esp + 0xc04]
cvtps2pd xmm0, xmm0
add esp, 4
movsd qword [esp], xmm0
push dword [esp + 0x214]
push str._s___0.fm
push eax
call fcn.0043d5b0
cvttss2si edx, dword [esp + 0x258]
add esp, 0x14
lea eax, [esp + 0xbf8]
push eax
push 0x4a17e0
cvttss2si ecx, dword [esp + 0x248]
call fcn.0042e7f0
add esp, 8
cmp byte [0x4a8802], 0
je 0x4342a0
cmp dword [esp + 0x214], 8
jne 0x4342a0
push 0x400
lea eax, [esp + 0xffc]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
movss xmm0, dword [esp + 0x14]
lea eax, [esp + 0x1004]
cvtps2pd xmm0, xmm0
add esp, 4
movsd qword [esp], xmm0
push dword [esp + 0x214]
push str._s___0.fm
push eax
call fcn.0043d5b0
cvttss2si edx, dword [esp + 0x258]
add esp, 0x14
lea eax, [esp + 0xff8]
push eax
push 0x4a1820
cvttss2si ecx, dword [esp + 0x248]
call fcn.0042e7f0
add esp, 8
cmp byte [0x49710c], 0
je 0x43431b
cmp dword [esp + 0x214], 9
jne 0x43431b
push 0x400
lea eax, [esp + 0x13fc]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
movss xmm0, dword [esp + 0x14]
lea eax, [esp + 0x1404]
cvtps2pd xmm0, xmm0
add esp, 4
movsd qword [esp], xmm0
push dword [esp + 0x214]
push str._s___0.fm
push eax
call fcn.0043d5b0
cvttss2si edx, dword [esp + 0x258]
add esp, 0x14
lea eax, [esp + 0x13f8]
push eax
push 0x4a1890
cvttss2si ecx, dword [esp + 0x248]
call fcn.0042e7f0
add esp, 8
cmp byte [0x4a87ac], 0
je 0x434396
cmp dword [esp + 0x214], 0xa
jne 0x434396
push 0x400
lea eax, [esp + 0x17fc]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
movss xmm0, dword [esp + 0x14]
lea eax, [esp + 0x1804]
cvtps2pd xmm0, xmm0
add esp, 4
movsd qword [esp], xmm0
push dword [esp + 0x214]
push str._s___0.fm
push eax
call fcn.0043d5b0
cvttss2si edx, dword [esp + 0x258]
add esp, 0x14
lea eax, [esp + 0x17f8]
push eax
push 0x4a17c0
cvttss2si ecx, dword [esp + 0x248]
call fcn.0042e7f0
add esp, 8
cmp byte [0x4a865d], 0
je 0x434411
cmp dword [esp + 0x214], 2
jne 0x434411
push 0x400
lea eax, [esp + 0x1bfc]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
movss xmm0, dword [esp + 0x14]
lea eax, [esp + 0x1c04]
cvtps2pd xmm0, xmm0
add esp, 4
movsd qword [esp], xmm0
push dword [esp + 0x214]
push str._s___0.fm
push eax
call fcn.0043d5b0
cvttss2si edx, dword [esp + 0x258]
add esp, 0x14
lea eax, [esp + 0x1bf8]
push eax
push 0x4a1950
cvttss2si ecx, dword [esp + 0x248]
call fcn.0042e7f0
add esp, 8
cmp byte [0x4a8771], 0
je 0x43448c
cmp dword [esp + 0x214], 0
jne 0x43448c
push 0x400
lea eax, [esp + 0x1ffc]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
movss xmm0, dword [esp + 0x14]
lea eax, [esp + 0x2004]
cvtps2pd xmm0, xmm0
add esp, 4
movsd qword [esp], xmm0
push dword [esp + 0x214]
push str._s___0.fm
push eax
call fcn.0043d5b0
cvttss2si edx, dword [esp + 0x258]
add esp, 0x14
lea eax, [esp + 0x1ff8]
push eax
push 0x4a1810
cvttss2si ecx, dword [esp + 0x248]
call fcn.0042e7f0
add esp, 8
cmp byte [0x49710d], 0
je 0x434507
cmp dword [esp + 0x214], 4
jne 0x434507
push 0x400
lea eax, [esp + 0x23fc]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
movss xmm0, dword [esp + 0x14]
lea eax, [esp + 0x2404]
cvtps2pd xmm0, xmm0
add esp, 4
movsd qword [esp], xmm0
push dword [esp + 0x214]
push str._s___0.fm
push eax
call fcn.0043d5b0
cvttss2si edx, dword [esp + 0x258]
add esp, 0x14
lea eax, [esp + 0x23f8]
push eax
push 0x4a1850
cvttss2si ecx, dword [esp + 0x248]
call fcn.0042e7f0
add esp, 8
cmp byte [0x4a8770], 0
je 0x434582
cmp dword [esp + 0x214], 5
jne 0x434582
push 0x400
lea eax, [esp + 0x27fc]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
movss xmm0, dword [esp + 0x14]
lea eax, [esp + 0x2804]
cvtps2pd xmm0, xmm0
add esp, 4
movsd qword [esp], xmm0
push dword [esp + 0x214]
push str._s___0.fm
push eax
call fcn.0043d5b0
cvttss2si edx, dword [esp + 0x258]
add esp, 0x14
lea eax, [esp + 0x27f8]
push eax
push 0x4a1920
cvttss2si ecx, dword [esp + 0x248]
call fcn.0042e7f0
add esp, 8
cmp byte [0x4a87a9], 0
je 0x4345fd
cmp dword [esp + 0x214], 0xb
jne 0x4345fd
push 0x400
lea eax, [esp + 0x2bfc]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
movss xmm0, dword [esp + 0x14]
lea eax, [esp + 0x2c04]
cvtps2pd xmm0, xmm0
add esp, 4
movsd qword [esp], xmm0
push dword [esp + 0x214]
push str._s___0.fm
push eax
call fcn.0043d5b0
cvttss2si edx, dword [esp + 0x258]
add esp, 0x14
lea eax, [esp + 0x2bf8]
push eax
push 0x4a1aa0
cvttss2si ecx, dword [esp + 0x248]
call fcn.0042e7f0
add esp, 8
cmp byte [0x4a87ad], 0
je 0x433e21
cmp dword [esp + 0x214], 0xe
jne 0x433e21
push 0x400
lea eax, [esp + 0x2ffc]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
movss xmm0, dword [esp + 0x14]
lea eax, [esp + 0x3004]
cvtps2pd xmm0, xmm0
add esp, 4
movsd qword [esp], xmm0
push dword [esp + 0x214]
push str._s___0.fm
push eax
call fcn.0043d5b0
cvttss2si edx, dword [esp + 0x258]
add esp, 0x14
lea eax, [esp + 0x2ff8]
push eax
push 0x4a1b20
cvttss2si ecx, dword [esp + 0x248]
call fcn.0042e7f0
add esp, 8
jmp 0x433e21
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
cvtsd2ss xmm0, xmm0
push 6
mov edx, esi
lea ecx, [esp + 0x1cc]
movss dword [esp + 0xc], xmm0
call fcn.004326b0
mov eax, dword [0x4a87c0]
add esp, 4
sub eax, 0
je 0x4346c1
sub eax, 1
jne 0x4346cc
mov eax, 3
mov dword [esp + 0x78], eax
jmp 0x4346d0
mov eax, 6
mov dword [esp + 0x78], eax
jmp 0x4346d0
mov eax, dword [esp + 0x78]
push eax
mov edx, esi
lea ecx, [esp + 0x1c0]
call fcn.004326b0
movq xmm0, qword [esp + 0x1c0]
sub esp, 8
mov eax, dword [esp + 0x1d0]
mov ecx, esp
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
mov ecx, 0x4a8c78
call fcn.00432890
movq xmm0, qword [0x4a8c60]
mov ecx, esp
mov eax, dword [0x4a8c68]
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
mov ecx, 0x4a8c6c
call fcn.00432890
movq xmm0, qword [esp + 0x1d4]
mov ecx, esp
mov eax, dword [esp + 0x1dc]
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
mov ecx, 0x4a8c9c
call fcn.00432890
add esp, 0xc
test al, al
je 0x434ed5
movss xmm0, dword [0x4a8c70]
subss xmm0, dword [0x4a8ca0]
push 0xff
push 0
cvttss2si eax, xmm0
mov dword [esp + 0x18], eax
cdq
sub eax, edx
mov edi, eax
lea eax, [esp + 0x300]
push eax
sar edi, 1
call sub.VCRUNTIME140.dll_memset
movss xmm0, dword [0x497314]
add esp, 0xc
movss xmm1, dword [esp + 8]
comiss xmm0, xmm1
jb 0x4349cf
cmp byte [0x4a879c], 0
je 0x43486a
mov dword [esp + 0x140], 0x852c9c52
lea eax, [esp + 0x50]
mov dword [esp + 0x144], 0x29e7a39d
sub esp, 8
mov dword [esp + 0x150], 0xb706fea4
mov dword [esp + 0x154], 0xc18213f1
movaps xmm1, xmmword [esp + 0x148]
movaps xmmword [esp + 0x58], xmm1
mov dword [esp + 0x158], 0xe302ac77
mov dword [esp + 0x15c], 0x29e7a3f0
mov dword [esp + 0x160], 0xb706fea4
mov dword [esp + 0x164], 0xc18213f1
movaps xmm0, xmmword [esp + 0x158]
xorps xmm0, xmm1
movaps xmmword [esp + 0x58], xmm0
movss xmm0, dword [esp + 0x10]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push eax
lea eax, [esp + 0x304]
push eax
call fcn.00413640
cvttss2si edx, dword [0x4a8c70]
lea eax, [esp + 0x308]
push eax
push 0x4a1970
cvttss2si ecx, dword [0x4a8c6c]
call fcn.0042e7f0
add esp, 0x18
cmp byte [0x4a8800], 0
je 0x434940
mov dword [esp + 0x160], 0xd922fc3f
lea eax, [esp + 0x50]
mov dword [esp + 0x164], 0x7d786d0
sub esp, 8
mov dword [esp + 0x170], 0xb7069894
mov dword [esp + 0x174], 0xc18213f1
movaps xmm1, xmmword [esp + 0x168]
movaps xmmword [esp + 0x58], xmm1
mov dword [esp + 0x178], 0xe302ac77
mov dword [esp + 0x17c], 0x29e7a3f0
mov dword [esp + 0x180], 0xb706fea4
mov dword [esp + 0x184], 0xc18213f1
movaps xmm0, xmmword [esp + 0x178]
xorps xmm0, xmm1
movaps xmmword [esp + 0x58], xmm0
movss xmm0, dword [esp + 0x34]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push eax
lea eax, [esp + 0x304]
push eax
call fcn.00413640
movss xmm0, dword [0x4a8c70]
lea eax, [esp + 0x308]
addss xmm0, dword [0x48947c]
cvttss2si ecx, dword [0x4a8c6c]
push eax
push 0x4a1970
cvttss2si edx, xmm0
call fcn.0042e7f0
add esp, 0x18
cmp byte [0x4a87ae], 0
je 0x434985
movd xmm3, dword [esp + 0x10]
mov eax, edi
movss xmm0, dword [0x4a8c6c]
mov ecx, 0x497318
cdq
sub eax, edx
movd xmm2, edi
sar eax, 1
cvtdq2ps xmm3, xmm3
movd xmm1, eax
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm2, xmm2
subss xmm0, xmm1
movss xmm1, dword [0x4a8ca0]
call fcn.0042ebe0
cmp byte [0x4a87ab], 0
je 0x4349c9
movd xmm1, edi
cvtdq2ps xmm1, xmm1
movss xmm0, dword [0x4a8c6c]
divss xmm1, dword [0x489418]
movd xmm3, dword [esp + 0x10]
cvttss2si edx, dword [0x4a8c70]
movss xmm2, dword [esp + 0x2c]
subss xmm0, xmm1
cvtdq2ps xmm3, xmm3
cvttss2si ecx, xmm0
call fcn.00432e40
movss xmm1, dword [esp + 8]
movss xmm0, dword [0x497300]
comiss xmm0, xmm1
jb 0x434aa6
mov eax, dword [0x4a881c]
movss xmm2, dword [0x4a8c78]
cdq
movss xmm1, dword [0x4a8c7c]
sub eax, edx
sar eax, 1
movd xmm0, eax
mov eax, dword [0x4a8818]
cvtdq2ps xmm0, xmm0
cdq
sub eax, edx
sar eax, 1
cmp byte [0x49710e], 0
subss xmm2, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm2, xmm2
subss xmm1, xmm0
mulss xmm1, xmm1
je 0x434a70
addss xmm2, xmm1
xorps xmm1, xmm1
cvtps2pd xmm0, xmm2
ucomisd xmm1, xmm0
ja 0x434a41
sqrtsd xmm0, xmm0
jmp 0x434a46
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movd xmm0, dword [0x4a1c20]
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm1
jbe 0x434aa6
movss xmm0, dword [esp + 0x3c]
comiss xmm0, xmm1
jbe 0x434aa6
movss dword [esp + 0x3c], xmm1
jmp 0x434aa0
addss xmm1, xmm2
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x434a86
sqrtsd xmm0, xmm0
jmp 0x434a8b
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
movss xmm1, dword [esp + 0x3c]
cvtsd2ss xmm0, xmm0
comiss xmm1, xmm0
jbe 0x434aa6
movss dword [esp + 0x3c], xmm0
mov dword [0x4a87fc], esi
mov edi, dword [sym.imp.KERNEL32.dll_ReadProcessMemory]
lea eax, [esp + 0x2bc]
push 0
push 0xc
push eax
lea eax, [esi + 0xe38]
push eax
push dword [0x4a87a0]
call edi
push 0
push 4
lea eax, [esp + 0x2a0]
push eax
mov eax, dword [0x4a8814]
add eax, 0xf7ca84
push eax
push dword [0x4a87a0]
call edi
push 0
push 4
lea eax, [esp + 0x2a4]
push eax
mov eax, dword [esp + 0x2a4]
add eax, 0xfe8
push eax
push dword [0x4a87a0]
call edi
push 0
push 0xc
lea eax, [esp + 0xdc]
push eax
mov eax, dword [esp + 0x2a8]
add eax, 0xe38
push eax
push dword [0x4a87a0]
call edi
movss xmm1, dword [esp + 0xd4]
movss xmm2, dword [esp + 0xd8]
subss xmm2, dword [esp + 0x2c0]
subss xmm1, dword [esp + 0x2bc]
movss xmm0, dword [esp + 0xdc]
subss xmm0, dword [esp + 0x2c4]
mulss xmm2, xmm2
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm2, xmm1
xorps xmm1, xmm1
addss xmm2, xmm0
cvtps2pd xmm0, xmm2
ucomisd xmm1, xmm0
ja 0x434b84
sqrtsd xmm0, xmm0
jmp 0x434b89
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
cvtsd2ss xmm0, xmm0
comiss xmm0, dword [0x497314]
ja 0x434ed5
cmp byte [0x4a879f], 0
je 0x434caf
push 0
push 4
lea eax, [esp + 0x254]
push eax
lea eax, [esi + 0x2f88]
push eax
push dword [0x4a87a0]
call edi
cmp dword [esp + 0x24c], 0
je 0x434caf
push 0x400
lea eax, [esp + 0x33fc]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [esp + 0x3ff8]
push 0x400
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov edx, dword [esp + 0x258]
lea ecx, [esp + 0x23c]
add esp, 0xc
mov dword [esp + 0x238], 0
xorps xmm0, xmm0
movq qword [esp + 0x230], xmm0
call fcn.0042efb0
push dword [esp + 0x230]
lea eax, [esp + 0x33fc]
push 0x483cd8
push eax
call fcn.0043d5b0
movss xmm0, dword [0x4a8c70]
lea eax, [esp + 0x3404]
addss xmm0, dword [0x489484]
cvttss2si ecx, dword [0x4a8c6c]
add esp, 0xc
push eax
push 0x4a17c0
cvttss2si edx, xmm0
call fcn.0042e7f0
movss xmm0, dword [0x4a8c70]
lea eax, [esp + 0x4000]
addss xmm0, dword [0x489484]
push eax
push 0x4a17a0
cvttss2si edx, xmm0
movss xmm0, dword [0x4a8c6c]
subss xmm0, dword [0x48948c]
cvttss2si ecx, xmm0
call fcn.0042e7f0
add esp, 0x10
cmp byte [0x4a865f], 0
je 0x434dc4
push 0
push 4
lea eax, [esp + 0x258]
push eax
lea eax, [esi + 0x3110]
push eax
push dword [0x4a87a0]
call edi
cmp dword [esp + 0x250], 0
je 0x434dc4
push 0x400
lea eax, [esp + 0x37fc]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [esp + 0x43f8]
push 0x400
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov edx, dword [esp + 0x25c]
lea ecx, [esp + 0x230]
add esp, 0xc
mov dword [esp + 0x22c], 0
xorps xmm0, xmm0
movq qword [esp + 0x224], xmm0
call fcn.0042efb0
push dword [esp + 0x224]
lea eax, [esp + 0x37fc]
push 0x483cd8
push eax
call fcn.0043d5b0
movss xmm0, dword [0x4a8c70]
lea eax, [esp + 0x3804]
addss xmm0, dword [0x48948c]
cvttss2si ecx, dword [0x4a8c6c]
add esp, 0xc
push eax
push 0x4a17c0
cvttss2si edx, xmm0
call fcn.0042e7f0
movss xmm0, dword [0x4a8c70]
lea eax, [esp + 0x4400]
addss xmm0, dword [0x48948c]
push eax
push 0x4a17a0
cvttss2si edx, xmm0
movss xmm0, dword [0x4a8c6c]
subss xmm0, dword [0x48948c]
cvttss2si ecx, xmm0
call fcn.0042e7f0
add esp, 0x10
cmp byte [0x4a87af], 0
je 0x434ed5
push 0
push 4
lea eax, [esp + 0x2a8]
push eax
lea eax, [esi + 0x30d8]
push eax
push dword [0x4a87a0]
call edi
mov esi, dword [esp + 0x2a0]
test esi, esi
je 0x434ed5
push 0x400
lea eax, [esp + 0x3bfc]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [esp + 0x47f8]
push 0x400
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [esp + 0x220], 0
xorps xmm0, xmm0
lea ecx, [esp + 0x218]
mov edx, esi
movq qword [esp + 0x218], xmm0
call fcn.0042efb0
push dword [esp + 0x218]
lea eax, [esp + 0x3bfc]
push 0x483cd8
push eax
call fcn.0043d5b0
movss xmm0, dword [0x4a8c70]
lea eax, [esp + 0x3c04]
addss xmm0, dword [0x489494]
cvttss2si ecx, dword [0x4a8c6c]
add esp, 0xc
push eax
push 0x4a17c0
cvttss2si edx, xmm0
call fcn.0042e7f0
movss xmm0, dword [0x4a8c70]
lea eax, [esp + 0x4800]
addss xmm0, dword [0x489494]
push eax
push 0x4a17a0
cvttss2si edx, xmm0
movss xmm0, dword [0x4a8c6c]
subss xmm0, dword [0x48948c]
cvttss2si ecx, xmm0
call fcn.0042e7f0
add esp, 0x10
mov edx, dword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov ecx, dword [0x4a8c90]
mov eax, dword [0x4a8c94]
mov esi, dword [esp + 0x7c]
sub eax, ecx
inc esi
sar eax, 4
mov dword [esp + 0x7c], esi
cmp esi, eax
jbe 0x4332e0
cmp dword [0x4a87fc], 0
je 0x434f13
cmp byte [0x4a87aa], 0
je 0x434f13
call fcn.00432ff0
mov ecx, dword [esp + 0x4bfc]
pop edi
pop esi
xor ecx, esp
call fcn.004758de
mov esp, ebp
pop ebp
ret