Function at 0x10081c70
Capabilities:
Log keystrokes via polling

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x100e1346
push eax
mov dword fs:[0], esp
push ebx
sub esp, 0x2a0
cmp byte [0x1019c422], 0
push esi
push edi
je 0x1008324c
mov eax, dword [0x1019c324]
cmp dword [eax], 0
je 0x1008324c
mov ecx, dword [0x1019c970]
lea edx, [ebp - 0x28]
push edx
lea edx, [ebp - 0x2c]
push edx
mov eax, dword [ecx]
call dword [eax + 0x14]
mov eax, dword [0x1019c324]
mov ecx, dword [eax]
call fcn.10012230
movss xmm0, dword [eax + 4]
movss xmm1, dword [eax]
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x10081d05
sqrtsd xmm0, xmm0
jmp 0x10081d0a
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
cvtsd2ss xmm0, xmm0
push ecx
movss dword [ebp - 0x20], xmm0
fld dword [ebp - 0x20]
fstp dword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
mov eax, dword fs:[0x2c]
add esp, 4
mov ecx, dword [0x101a3f58]
fstp dword [ebp - 0x24]
cvttss2si esi, dword [ebp - 0x24]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x101a23c4]
cmp eax, dword [ecx + 4]
jg 0x1008325f
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount64]
call edi
mov dword [ebp - 0x20], eax
mov ecx, edx
mov eax, dword [0x101a23a4]
cdq
cmp ecx, edx
jb 0x10081dd1
ja 0x10081d68
cmp dword [ebp - 0x20], eax
jbe 0x10081dd1
call edi
add eax, 0x14
mov dword [0x101a23a4], eax
mov eax, dword [0x1019c324]
mov ecx, dword [eax]
call fcn.10012230
movss xmm0, dword [eax + 4]
movss xmm1, dword [eax]
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x10081da5
sqrtsd xmm0, xmm0
jmp 0x10081daa
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
cvtsd2ss xmm0, xmm0
push ecx
movss dword [ebp - 0x20], xmm0
fld dword [ebp - 0x20]
fstp dword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
fstp dword [ebp - 0x20]
cvttss2si eax, dword [ebp - 0x20]
add esp, 4
mov dword [0x101a23a8], eax
jmp 0x10081dd6
mov eax, dword [0x101a23a8]
cmp esi, eax
jle 0x10081dfa
mov dword [0x101a23ac], 0x1e
mov dword [0x101a23b0], 0xff
mov dword [0x101a23b4], 0x6d
jmp 0x10081e32
jge 0x10081e12
mov dword [0x101a23b0], 0x77
mov dword [0x101a23b4], 0x77
jmp 0x10081e28
jne 0x10081e32
mov dword [0x101a23b0], 0xc7
mov dword [0x101a23b4], 0x59
mov dword [0x101a23ac], 0xff
jg 0x10081e58
jge 0x10081e56
mov dword [0x101a23b8], 0xff
mov dword [0x101a23bc], 0x77
mov dword [0x101a23c0], 0x78
jmp 0x10081e76
jne 0x10081e76
mov dword [0x101a23b8], 0x23
mov dword [0x101a23bc], 0xff
mov dword [0x101a23c0], 0x73
test byte [0x101a2028], 1
je 0x10081f21
lea eax, [ebp - 0x68]
push esi
push eax
call fcn.10012a90
mov esi, eax
add esp, 8
cmp esi, 0x1015c4a8
je 0x10081f19
mov edx, dword [0x1015c4bc]
cmp edx, 0x10
jb 0x10081ed6
mov ecx, dword [0x1015c4a8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10081ecc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10081ecc
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.100dbfa3
add esp, 8
mov dword [0x1015c4b8], 0
mov dword [0x1015c4bc], 0xf
mov byte [0x1015c4a8], 0
movups xmm0, xmmword [esi]
movups xmmword [0x1015c4a8], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [0x1015c4b8], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
lea ecx, [ebp - 0x68]
call fcn.10003100
mov eax, dword [0x1019c324]
mov ecx, dword [eax]
call fcn.10012230
movss xmm0, dword [eax + 4]
movss xmm1, dword [eax]
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x10081f54
sqrtsd xmm0, xmm0
jmp 0x10081f59
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
cvtsd2ss xmm0, xmm0
movss xmm1, dword [0x100e4318]
divss xmm0, dword [0x100eed08]
movss dword [ebp - 0x20], xmm1
comiss xmm0, xmm1
movss dword [ebp - 0x18], xmm0
seta al
test al, al
jne 0x10081f8e
xorps xmm1, xmm1
comiss xmm1, xmm0
seta al
test al, al
je 0x10081f93
movss dword [ebp - 0x18], xmm1
push dword [0x1019c6d0]
lea ecx, [ebp - 0x78]
push dword [0x1019c6cc]
push dword [0x1019c6c8]
push dword [0x1019c6c4]
call fcn.10088860
push dword [0x1019c6c0]
lea ecx, [ebp - 0x60]
push dword [0x1019c6bc]
movups xmm0, xmmword [eax]
push dword [0x1019c6b8]
movups xmmword [ebp - 0x48], xmm0
push dword [0x1019c6b4]
call fcn.10088860
movss xmm0, dword [ebp - 0x18]
sub esp, 0x14
mov ecx, esp
movss dword [esp + 0x10], xmm0
sub esp, 0x10
movups xmm0, xmmword [ebp - 0x48]
movups xmmword [ecx], xmm0
mov ecx, esp
movups xmm0, xmmword [eax]
lea eax, [ebp - 0x128]
push eax
movups xmmword [ecx], xmm0
call fcn.100817b0
mov edi, dword [0x1019c4f4]
lea ecx, [ebp - 0x60]
add esp, 0x28
cmp byte [0x1019c558], 0
push 0xff
push 0
push 0
push 0
je 0x100822a8
cmp byte [0x1019c48a], 0
je 0x10082206
test byte [0x101a2028], 1
je 0x100820e8
call fcn.10088860
mov ecx, dword [0x101a025c]
sub esp, 0x10
mov esi, dword [ebp - 0x28]
mov dword [ebp - 0x18], eax
sub esi, edi
mov eax, dword [ecx + 0x48]
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x2c]
cdq
movups xmm0, xmmword [ecx]
sub eax, edx
lea ecx, [ebp - 0x78]
mov edi, eax
mov eax, esp
push 1
push 1
push 0xff
push dword [0x101a23c0]
sar edi, 1
push dword [0x101a23bc]
movups xmmword [eax], xmm0
push dword [0x101a23b8]
call fcn.10088860
sub esp, 0x10
mov ecx, esp
sub esp, 0x18
movups xmm0, xmmword [eax]
mov eax, esp
movups xmmword [ecx], xmm0
cvttss2si ecx, dword [ebp - 0x24]
push ecx
push eax
call fcn.10012a90
mov ecx, dword [0x101a025c]
add esp, 8
movd xmm0, esi
cvtdq2ps xmm0, xmm0
push dword [ebp - 0x14]
sub esp, 8
movss dword [esp + 4], xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
call fcn.1002ac30
jmp 0x10082754
call fcn.10088860
mov ecx, dword [0x101a025c]
sub esp, 0x10
mov esi, dword [ebp - 0x28]
mov dword [ebp - 0x14], eax
sub esi, edi
mov eax, dword [ecx + 0x48]
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x2c]
cdq
movups xmm0, xmmword [ecx]
sub eax, edx
lea ecx, [ebp - 0x78]
mov edi, eax
mov eax, esp
push 1
push 1
push 0xff
push dword [0x101a23c0]
sar edi, 1
push dword [0x101a23bc]
movups xmmword [eax], xmm0
push dword [0x101a23b8]
call fcn.10088860
sub esp, 0x10
mov ecx, esp
movups xmm0, xmmword [eax]
lea eax, [ebp - 0xd0]
movups xmmword [ecx], xmm0
cvttss2si ecx, dword [ebp - 0x24]
push ecx
push eax
call fcn.10012a90
push 0x100e608c
push eax
lea eax, [ebp - 0x100]
mov dword [ebp - 4], 0
push eax
call fcn.100159b0
push 0x100eec4c
push eax
lea eax, [ebp - 0xe8]
mov byte [ebp - 4], 1
push eax
call fcn.100159b0
push 0x1015c4a8
push eax
lea eax, [ebp - 0x50]
mov byte [ebp - 4], 2
push eax
call fcn.10081190
add esp, 0x14
mov byte [ebp - 4], 3
mov ecx, esp
push 0x100eec48
push eax
push ecx
call fcn.100159b0
mov ecx, dword [0x101a025c]
add esp, 0xc
movd xmm0, esi
cvtdq2ps xmm0, xmm0
push dword [ebp - 0x18]
sub esp, 8
movss dword [esp + 4], xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
call fcn.1002ac30
lea ecx, [ebp - 0x50]
call fcn.10003100
lea ecx, [ebp - 0xe8]
call fcn.10003100
lea ecx, [ebp - 0x100]
call fcn.10003100
lea ecx, [ebp - 0xd0]
jmp 0x10082748
call fcn.10088860
mov ecx, dword [0x101a025c]
sub esp, 0x10
mov esi, dword [ebp - 0x28]
mov dword [ebp - 0x14], eax
sub esi, edi
mov eax, dword [ecx + 0x48]
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x2c]
cdq
movups xmm0, xmmword [ecx]
sub eax, edx
lea ecx, [ebp - 0x78]
mov edi, eax
mov eax, esp
push 1
push 1
push 0xff
push dword [0x101a23c0]
sar edi, 1
push dword [0x101a23bc]
movups xmmword [eax], xmm0
push dword [0x101a23b8]
call fcn.10088860
sub esp, 0x10
mov ecx, esp
sub esp, 0x18
movups xmm0, xmmword [eax]
mov eax, esp
movups xmmword [ecx], xmm0
cvttss2si ecx, dword [ebp - 0x24]
push ecx
push eax
call fcn.10012a90
mov ecx, dword [0x101a025c]
add esp, 8
movd xmm0, esi
cvtdq2ps xmm0, xmm0
push dword [ebp - 0x18]
sub esp, 8
movss dword [esp + 4], xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
call fcn.1002ac30
jmp 0x10082754
cmp byte [0x1019c487], 0
je 0x100824af
mov eax, dword [0x101a025c]
movups xmm0, xmmword [ebp - 0x128]
mov esi, dword [ebp - 0x28]
sub esi, edi
cmp byte [0x1019c48a], 0
mov eax, dword [eax + 0x48]
movups xmmword [ebp - 0x48], xmm0
je 0x1008243f
test byte [0x101a2028], 1
je 0x10082353
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x2c]
cdq
sub eax, edx
mov edi, eax
sar edi, 1
call fcn.10088860
sub esp, 0x10
mov ecx, esp
movups xmm0, xmmword [eax]
push 1
push 1
movups xmmword [ecx], xmm0
sub esp, 0x10
cvttss2si ecx, dword [ebp - 0x24]
mov eax, esp
sub esp, 0x18
movups xmm0, xmmword [ebp - 0x48]
movups xmmword [eax], xmm0
mov eax, esp
push ecx
push eax
call fcn.10012a90
mov ecx, dword [0x101a025c]
add esp, 8
movd xmm0, esi
cvtdq2ps xmm0, xmm0
push dword [ebp - 0x14]
sub esp, 8
movss dword [esp + 4], xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
call fcn.1002ac30
jmp 0x10082754
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x2c]
cdq
sub eax, edx
mov edi, eax
sar edi, 1
call fcn.10088860
sub esp, 0x10
mov ecx, esp
movups xmm0, xmmword [eax]
push 1
push 1
movups xmmword [ecx], xmm0
sub esp, 0x10
cvttss2si ecx, dword [ebp - 0x24]
mov eax, esp
movups xmm0, xmmword [ebp - 0x48]
push ecx
movups xmmword [eax], xmm0
lea eax, [ebp - 0x80]
push eax
call fcn.10012a90
push 0x100e608c
push eax
lea eax, [ebp - 0xe8]
mov dword [ebp - 4], 4
push eax
call fcn.100159b0
push 0x100eec4c
push eax
lea eax, [ebp - 0x100]
mov byte [ebp - 4], 5
push eax
call fcn.100159b0
push 0x1015c4a8
push eax
lea eax, [ebp - 0xd0]
mov byte [ebp - 4], 6
push eax
call fcn.10081190
add esp, 0x14
mov byte [ebp - 4], 7
mov ecx, esp
push 0x100eec48
push eax
push ecx
call fcn.100159b0
mov ecx, dword [0x101a025c]
add esp, 0xc
movd xmm0, esi
cvtdq2ps xmm0, xmm0
push dword [ebp - 0x14]
sub esp, 8
movss dword [esp + 4], xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
call fcn.1002ac30
lea ecx, [ebp - 0xd0]
call fcn.10003100
lea ecx, [ebp - 0x100]
call fcn.10003100
lea ecx, [ebp - 0xe8]
call fcn.10003100
lea ecx, [ebp - 0x80]
jmp 0x10082748
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x2c]
cdq
sub eax, edx
mov edi, eax
sar edi, 1
call fcn.10088860
sub esp, 0x10
mov ecx, esp
movups xmm0, xmmword [eax]
push 1
push 1
movups xmmword [ecx], xmm0
sub esp, 0x10
cvttss2si ecx, dword [ebp - 0x24]
mov eax, esp
sub esp, 0x18
movups xmm0, xmmword [ebp - 0x48]
movups xmmword [eax], xmm0
mov eax, esp
push ecx
push eax
call fcn.10012a90
mov ecx, dword [0x101a025c]
add esp, 8
movd xmm0, esi
cvtdq2ps xmm0, xmm0
push dword [ebp - 0x14]
sub esp, 8
movss dword [esp + 4], xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
call fcn.1002ac30
jmp 0x10082754
cmp byte [0x1019c48a], 0
je 0x10082634
test byte [0x101a2028], 1
je 0x10082566
call fcn.10088860
mov ecx, dword [0x101a025c]
sub esp, 0x10
mov esi, dword [ebp - 0x28]
mov dword [ebp - 0x14], eax
sub esi, edi
mov eax, dword [ecx + 0x48]
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x2c]
cdq
movups xmm0, xmmword [ecx]
sub eax, edx
lea ecx, [ebp - 0x78]
mov edi, eax
mov eax, esp
push 1
push 1
push dword [0x101a23b4]
sar edi, 1
push dword [0x101a23b0]
movups xmmword [eax], xmm0
push dword [0x101a23ac]
call fcn.10088830
sub esp, 0x10
mov ecx, esp
sub esp, 0x18
movups xmm0, xmmword [eax]
mov eax, esp
movups xmmword [ecx], xmm0
cvttss2si ecx, dword [ebp - 0x24]
push ecx
push eax
call fcn.10012a90
mov ecx, dword [0x101a025c]
add esp, 8
movd xmm0, esi
cvtdq2ps xmm0, xmm0
push dword [ebp - 0x18]
sub esp, 8
movss dword [esp + 4], xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
call fcn.1002ac30
jmp 0x10082754
call fcn.10088860
mov ecx, dword [0x101a025c]
sub esp, 0x10
mov esi, dword [ebp - 0x28]
mov dword [ebp - 0x14], eax
sub esi, edi
mov eax, dword [ecx + 0x48]
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x2c]
cdq
movups xmm0, xmmword [ecx]
sub eax, edx
lea ecx, [ebp - 0x78]
mov edi, eax
mov eax, esp
push 1
push 1
push dword [0x101a23b4]
sar edi, 1
push dword [0x101a23b0]
movups xmmword [eax], xmm0
push dword [0x101a23ac]
call fcn.10088830
sub esp, 0x10
mov ecx, esp
movups xmm0, xmmword [eax]
lea eax, [ebp - 0x50]
movups xmmword [ecx], xmm0
cvttss2si ecx, dword [ebp - 0x24]
push ecx
push eax
call fcn.10012a90
push 0x100e608c
push eax
lea eax, [ebp - 0xe8]
mov dword [ebp - 4], 8
push eax
call fcn.100159b0
push 0x100eec4c
push eax
lea eax, [ebp - 0x100]
mov byte [ebp - 4], 9
push eax
call fcn.100159b0
push 0x1015c4a8
push eax
lea eax, [ebp - 0xd0]
mov byte [ebp - 4], 0xa
push eax
call fcn.10081190
add esp, 0x14
mov byte [ebp - 4], 0xb
mov ecx, esp
push 0x100eec48
push eax
push ecx
call fcn.100159b0
add esp, 0xc
push dword [ebp - 0x18]
jmp 0x100826fd
call fcn.10088860
mov ecx, dword [0x101a025c]
sub esp, 0x10
mov esi, dword [ebp - 0x28]
mov dword [ebp - 0x14], eax
sub esi, edi
mov eax, dword [ecx + 0x48]
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x2c]
cdq
movups xmm0, xmmword [ecx]
sub eax, edx
lea ecx, [ebp - 0x78]
mov edi, eax
mov eax, esp
push 1
push 1
push dword [0x101a23b4]
sar edi, 1
push dword [0x101a23b0]
movups xmmword [eax], xmm0
push dword [0x101a23ac]
call fcn.10088830
sub esp, 0x10
mov ecx, esp
movups xmm0, xmmword [eax]
lea eax, [ebp - 0x50]
movups xmmword [ecx], xmm0
cvttss2si ecx, dword [ebp - 0x24]
push ecx
push eax
call fcn.10012a90
push 0x100e608c
push eax
lea eax, [ebp - 0xe8]
mov dword [ebp - 4], 0xc
push eax
call fcn.100159b0
push 0x100eec4c
push eax
lea eax, [ebp - 0x100]
mov byte [ebp - 4], 0xd
push eax
call fcn.100159b0
push 0x1015c4a8
push eax
lea eax, [ebp - 0xd0]
mov byte [ebp - 4], 0xe
push eax
call fcn.10081190
add esp, 0x14
mov byte [ebp - 4], 0xf
mov ecx, esp
push 0x100eec48
push eax
push ecx
call fcn.100159b0
add esp, 0xc
push dword [ebp - 0x18]
mov ecx, dword [0x101a025c]
sub esp, 8
movd xmm0, esi
cvtdq2ps xmm0, xmm0
movss dword [esp + 4], xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
call fcn.1002ac30
lea ecx, [ebp - 0xd0]
call fcn.10003100
lea ecx, [ebp - 0x100]
call fcn.10003100
lea ecx, [ebp - 0xe8]
call fcn.10003100
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], 0xffffffff
call fcn.10003100
cmp byte [0x1019c4af], 0
je 0x1008324c
mov ecx, dword [0x1019c970]
mov eax, dword [ecx]
mov eax, dword [eax + 0x6c]
call eax
test al, al
je 0x1008324c
mov ecx, dword [0x1019c970]
lea edx, [ebp - 0x1c]
push edx
lea edx, [ebp - 0x34]
push edx
mov eax, dword [ecx]
call dword [eax + 0x14]
cmp byte [0x1019c48c], 0
je 0x10082858
cmp byte [0x1019c517], 0
je 0x10082858
push 0xff
push 0
push 0
push 0
lea ecx, [ebp - 0x60]
call fcn.10088860
cmp byte [0x1019c960], 0
lea esi, [ebp - 0x48]
mov edi, eax
je 0x100827cd
movups xmm0, xmmword [0x1019c674]
jmp 0x100827d4
movups xmm0, xmmword [0x1019c684]
mov eax, dword [0x101a025c]
sub esp, 0x10
movd xmm2, dword [ebp - 0x1c]
movups xmmword [ebp - 0x48], xmm0
mov ecx, dword [eax + 0x48]
mov eax, dword [ebp - 0x34]
movups xmm0, xmmword [edi]
cdq
sub eax, edx
mov edx, 0x6c61
sar eax, 1
cvtdq2ps xmm2, xmm2
movd xmm1, eax
mov eax, esp
subss xmm2, dword [0x1019c4ec]
push 1
push 1
movups xmmword [eax], xmm0
sub esp, 0x10
movups xmm0, xmmword [esi]
mov eax, esp
sub esp, 0x18
cvtdq2ps xmm1, xmm1
movups xmmword [eax], xmm0
mov eax, esp
push ecx
sub esp, 8
mov dword [eax], 0
mov dword [eax + 0x14], 0xf
mov dword [eax + 0x10], 2
mov word [eax], dx
mov ecx, dword [0x101a025c]
movss dword [esp + 4], xmm2
movss dword [esp], xmm1
call fcn.1002ac30
add dword [ebp - 0x1c], 0x1c
push dword [0x1019c470]
mov esi, dword [sym.imp.USER32.dll_GetAsyncKeyState]
call esi
test ax, ax
je 0x10082935
cmp byte [0x1019c514], 0
je 0x10082935
push 0xff
push 0
push 0
push 0
lea ecx, [ebp - 0x60]
call fcn.10088860
cmp byte [0x1019c95a], 0
lea edi, [ebp - 0x48]
mov dword [ebp - 0x14], eax
je 0x100828a7
movups xmm0, xmmword [0x1019c674]
jmp 0x100828ae
movups xmm0, xmmword [0x1019c684]
mov eax, dword [0x101a025c]
sub esp, 0x10
movd xmm2, dword [ebp - 0x1c]
movups xmmword [ebp - 0x48], xmm0
mov ecx, dword [eax + 0x48]
mov eax, dword [ebp - 0x34]
cdq
sub eax, edx
mov edx, dword [ebp - 0x14]
sar eax, 1
cvtdq2ps xmm2, xmm2
movups xmm0, xmmword [edx]
mov edx, 0x6a6c
subss xmm2, dword [0x1019c4ec]
movd xmm1, eax
mov eax, esp
push 1
push 1
sub esp, 0x10
movups xmmword [eax], xmm0
mov eax, esp
sub esp, 0x18
movups xmm0, xmmword [edi]
cvtdq2ps xmm1, xmm1
movups xmmword [eax], xmm0
mov eax, esp
push ecx
sub esp, 8
mov dword [eax], 0
mov dword [eax + 0x14], 0xf
mov dword [eax + 0x10], 2
mov word [eax], dx
mov ecx, dword [0x101a025c]
movss dword [esp + 4], xmm2
movss dword [esp], xmm1
call fcn.1002ac30
add dword [ebp - 0x1c], 0x1c
push dword [0x1019c4d4]
call esi
test ax, ax
je 0x10082a0c
cmp byte [0x1019c520], 0
je 0x10082a0c
push 0xff
push 0
push 0
push 0
lea ecx, [ebp - 0x60]
call fcn.10088860
cmp byte [0x1019c95b], 0
lea edi, [ebp - 0x48]
mov dword [ebp - 0x14], eax
je 0x1008297e
movups xmm0, xmmword [0x1019c674]
jmp 0x10082985
movups xmm0, xmmword [0x1019c684]
mov eax, dword [0x101a025c]
sub esp, 0x10
movd xmm2, dword [ebp - 0x1c]
movups xmmword [ebp - 0x48], xmm0
mov ecx, dword [eax + 0x48]
mov eax, dword [ebp - 0x34]
cdq
sub eax, edx
mov edx, dword [ebp - 0x14]
sar eax, 1
cvtdq2ps xmm2, xmm2
movups xmm0, xmmword [edx]
mov edx, 0x6a6d
subss xmm2, dword [0x1019c4ec]
movd xmm1, eax
mov eax, esp
push 1
push 1
sub esp, 0x10
movups xmmword [eax], xmm0
mov eax, esp
sub esp, 0x18
movups xmm0, xmmword [edi]
cvtdq2ps xmm1, xmm1
movups xmmword [eax], xmm0
mov eax, esp
push ecx
sub esp, 8
mov dword [eax], 0
mov dword [eax + 0x14], 0xf
mov dword [eax + 0x10], 2
mov word [eax], dx
mov ecx, dword [0x101a025c]
movss dword [esp + 4], xmm2
movss dword [esp], xmm1
call fcn.1002ac30
add dword [ebp - 0x1c], 0x1c
push dword [0x1019c498]
call esi
test ax, ax
je 0x10082aec
cmp byte [0x1019c530], 0
je 0x10082aec
push 0xff
push 0
push 0
push 0
lea ecx, [ebp - 0x60]
call fcn.10088860
cmp byte [0x1019c958], 0
mov dword [ebp - 0x14], eax
jne 0x10082a5b
cmp byte [0x1019c968], 0
jne 0x10082a5b
movups xmm0, xmmword [0x1019c684]
jmp 0x10082a62
movups xmm0, xmmword [0x1019c674]
mov eax, dword [0x101a025c]
lea edi, [ebp - 0x48]
movd xmm2, dword [ebp - 0x1c]
sub esp, 0x10
movups xmmword [ebp - 0x48], xmm0
mov ecx, dword [eax + 0x48]
mov eax, dword [ebp - 0x34]
cdq
sub eax, edx
mov edx, dword [ebp - 0x14]
sar eax, 1
cvtdq2ps xmm2, xmm2
movups xmm0, xmmword [edx]
mov edx, 0x6265
subss xmm2, dword [0x1019c4ec]
movd xmm1, eax
mov eax, esp
push 1
push 1
sub esp, 0x10
movups xmmword [eax], xmm0
mov eax, esp
sub esp, 0x18
movups xmm0, xmmword [edi]
cvtdq2ps xmm1, xmm1
movups xmmword [eax], xmm0
mov eax, esp
push ecx
sub esp, 8
mov dword [eax], 0
mov dword [eax + 0x14], 0xf
mov dword [eax + 0x10], 2
mov word [eax], dx
mov ecx, dword [0x101a025c]
movss dword [esp + 4], xmm2
movss dword [esp], xmm1
call fcn.1002ac30
add dword [ebp - 0x1c], 0x1c
cmp byte [0x1019c47d], 0
je 0x10082bdf
cmp byte [0x1019c515], 0
je 0x10082bdf
push 0xff
push 0
push 0
push 0
lea ecx, [ebp - 0x60]
call fcn.10088860
cmp byte [0x1019c95f], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x78], xmm0
jne 0x10082b50
mov eax, dword [0x1019c324]
mov ecx, dword [eax]
call fcn.10012230
movss xmm0, dword [eax + 8]
ucomiss xmm0, dword [0x100e463c]
lahf
test ah, 0x44
jnp 0x10082b50
movups xmm0, xmmword [0x1019c684]
jmp 0x10082b57
movups xmm0, xmmword [0x1019c674]
mov eax, dword [0x101a025c]
lea edi, [ebp - 0x48]
movd xmm2, dword [ebp - 0x1c]
sub esp, 0x10
movups xmmword [ebp - 0x48], xmm0
mov ecx, dword [eax + 0x48]
mov eax, dword [ebp - 0x34]
movups xmm0, xmmword [ebp - 0x78]
cdq
sub eax, edx
mov edx, 0x7370
sar eax, 1
cvtdq2ps xmm2, xmm2
movd xmm1, eax
mov eax, esp
subss xmm2, dword [0x1019c4ec]
push 1
push 1
movups xmmword [eax], xmm0
sub esp, 0x10
movups xmm0, xmmword [edi]
mov eax, esp
sub esp, 0x18
cvtdq2ps xmm1, xmm1
movups xmmword [eax], xmm0
mov eax, esp
push ecx
sub esp, 8
mov dword [eax], 0
mov dword [eax + 0x14], 0xf
mov dword [eax + 0x10], 2
mov word [eax], dx
mov ecx, dword [0x101a025c]
movss dword [esp + 4], xmm2
movss dword [esp], xmm1
call fcn.1002ac30
add dword [ebp - 0x1c], 0x1c
push dword [0x1019c478]
call esi
test ax, ax
je 0x10082cb2
cmp byte [0x1019c521], 0
je 0x10082cb2
push 0xff
push 0
push 0
push 0
lea ecx, [ebp - 0x60]
call fcn.10088860
cmp byte [0x1019c959], 0
lea esi, [ebp - 0x78]
mov edi, eax
je 0x10082c27
movups xmm0, xmmword [0x1019c674]
jmp 0x10082c2e
movups xmm0, xmmword [0x1019c684]
mov eax, dword [0x101a025c]
sub esp, 0x10
movd xmm2, dword [ebp - 0x1c]
movups xmmword [ebp - 0x78], xmm0
mov ecx, dword [eax + 0x48]
mov eax, dword [ebp - 0x34]
movups xmm0, xmmword [edi]
cdq
sub eax, edx
mov edx, 0x626a
sar eax, 1
cvtdq2ps xmm2, xmm2
movd xmm1, eax
mov eax, esp
subss xmm2, dword [0x1019c4ec]
push 1
push 1
movups xmmword [eax], xmm0
sub esp, 0x10
movups xmm0, xmmword [esi]
mov eax, esp
sub esp, 0x18
cvtdq2ps xmm1, xmm1
movups xmmword [eax], xmm0
mov eax, esp
push ecx
sub esp, 8
mov dword [eax], 0
mov dword [eax + 0x14], 0xf
mov dword [eax + 0x10], 2
mov word [eax], dx
mov ecx, dword [0x101a025c]
movss dword [esp + 4], xmm2
movss dword [esp], xmm1
call fcn.1002ac30
add dword [ebp - 0x1c], 0x1c
cmp byte [0x1019c423], 0
je 0x1008324c
mov ecx, dword [0x1019c970]
mov eax, dword [ecx]
mov eax, dword [eax + 0x6c]
call eax
test al, al
je 0x1008324c
mov ecx, dword [0x1019c970]
mov eax, dword [ecx]
mov eax, dword [eax + 0x68]
call eax
test al, al
je 0x1008324c
mov eax, dword [0x1019c324]
mov ecx, dword [eax]
test ecx, ecx
je 0x1008324c
call fcn.10087640
test al, al
je 0x1008324c
mov ecx, dword [0x1019c970]
lea edx, [ebp - 0x9c]
push edx
lea edx, [ebp - 0xa0]
push edx
mov eax, dword [ecx]
call dword [eax + 0x14]
mov eax, dword [0x1019c324]
mov ecx, dword [eax]
call fcn.100818a0
movss xmm0, dword [eax]
mov eax, dword [0x1019c324]
movss dword [ebp - 0x18], xmm0
mov ecx, dword [eax]
call fcn.10011db0
mov al, byte [eax]
and al, 1
cmp byte [0x101a23d4], 0
mov byte [ebp - 0x2d], al
je 0x10082d60
test al, al
jne 0x10082d60
movss xmm1, dword [ebp - 0x18]
movss dword [0x101a23cc], xmm1
mov eax, dword [0x1019c324]
mov ecx, dword [eax]
call fcn.100818a0
movss xmm0, dword [eax]
divss xmm0, dword [0x100eed04]
comiss xmm0, dword [0x100e4318]
seta al
test al, al
jne 0x10082d9f
xorps xmm1, xmm1
comiss xmm1, xmm0
seta al
test al, al
je 0x10082d9a
movss dword [ebp - 0x20], xmm1
jmp 0x10082d9f
movss dword [ebp - 0x20], xmm0
push dword [0x1019c6a0]
lea ecx, [ebp - 0x60]
push dword [0x1019c69c]
push dword [0x1019c698]
push dword [0x1019c694]
call fcn.10088860
push dword [0x1019c6b0]
lea ecx, [ebp - 0x48]
push dword [0x1019c6ac]
movups xmm0, xmmword [eax]
push dword [0x1019c6a8]
movups xmmword [ebp - 0x78], xmm0
push dword [0x1019c6a4]
call fcn.10088860
movss xmm0, dword [ebp - 0x20]
sub esp, 0x14
mov ecx, esp
movss dword [esp + 0x10], xmm0
sub esp, 0x10
movups xmm0, xmmword [ebp - 0x78]
movups xmmword [ecx], xmm0
mov ecx, esp
movups xmm0, xmmword [eax]
lea eax, [ebp - 0x150]
push eax
movups xmmword [ecx], xmm0
call fcn.100817b0
mov dword [ebp - 0x98], 0
add esp, 0x28
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x84], 0xf
mov byte [ebp - 0x98], 0
push 1
lea ecx, [ebp - 0x2b0]
mov dword [ebp - 4], 0x10
call fcn.100811f0
push 0x10081410
lea ecx, [ebp - 0x2a0]
mov byte [ebp - 4], 0x11
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::ios_base_____cdecl___class_std::ios_base___]
push 0
mov esi, eax
lea eax, [ebp - 0x60]
push 1
push eax
call sub.MSVCP140.dll_struct_std::_Smanip_long_long___int64_____cdecl_std::setprecision_long_long___int64__
push eax
push esi
call fcn.10081160
movss xmm0, dword [ebp - 0x18]
add esp, 0x10
mov ecx, eax
movss dword [esp], xmm0
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___float_]
lea eax, [ebp - 0xd0]
push eax
lea ecx, [ebp - 0x2b0]
call fcn.10083500
lea ecx, [ebp - 0x98]
cmp ecx, eax
je 0x10082ed4
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x98], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x88], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea ecx, [ebp - 0xd0]
call fcn.10003100
lea eax, [ebp - 0x98]
push eax
lea ecx, [ebp - 0x118]
call fcn.100044d0
push 1
lea ecx, [ebp - 0x200]
mov byte [ebp - 4], 0x12
call fcn.100811f0
push 0x10081410
lea ecx, [ebp - 0x1f0]
mov byte [ebp - 4], 0x13
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::ios_base_____cdecl___class_std::ios_base___]
push 0
mov esi, eax
lea eax, [ebp - 0x60]
push 1
push eax
call sub.MSVCP140.dll_struct_std::_Smanip_long_long___int64_____cdecl_std::setprecision_long_long___int64__
push eax
push esi
call fcn.10081160
movss xmm0, dword [0x101a23cc]
add esp, 0x10
mov ecx, eax
movss dword [esp], xmm0
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___float_]
lea eax, [ebp - 0x140]
push eax
lea ecx, [ebp - 0x200]
call fcn.10083500
mov eax, dword [0x1019c324]
mov byte [ebp - 4], 0x14
mov ecx, dword [eax]
call fcn.10011db0
test byte [eax], 1
je 0x10082f97
cmp dword [ebp - 0x84], 0x10
lea eax, [ebp - 0x98]
push dword [ebp - 0x88]
cmovae eax, dword [ebp - 0x98]
lea ecx, [ebp - 0x118]
push eax
call fcn.10003440
jmp 0x10083103
cmp byte [0x1019c489], 0
je 0x10083103
mov eax, dword [0x1019c324]
mov ecx, dword [eax]
call fcn.10011db0
test byte [eax], 1
jne 0x10083103
mov ecx, dword [ebp - 0x130]
mov eax, closesocket
sub eax, ecx
mov dword [ebp - 0x20], ecx
cmp eax, 2
jb 0x10083295
cmp dword [ebp - 0x12c], 0x10
lea eax, [ebp - 0x140]
mov esi, 0xf
mov dword [ebp - 0xb8], 0
cmovae eax, dword [ebp - 0x140]
lea edi, [ebp - 0xb8]
mov dword [ebp - 0x24], eax
lea eax, [ecx + 2]
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0x14], eax
cmp eax, esi
jbe 0x10083054
mov esi, eax
or esi, 0xf
cmp esi, 0x7fffffff
jbe 0x10083030
mov esi, closesocket
jmp 0x1008303a
mov eax, 0x16
cmp esi, eax
cmovb esi, eax
lea eax, [esi + 1]
push eax
lea ecx, [ebp - 0xb8]
call fcn.10003380
mov edi, eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0xb8], edi
mov dword [ebp - 0xa4], esi
lea ecx, [edi + 2]
mov esi, dword [ebp - 0x20]
push esi
push dword [ebp - 0x24]
mov dword [ebp - 0xa8], eax
mov eax, 0x2820
push ecx
mov word [edi], ax
call sub.VCRUNTIME140.dll_memcpy
mov byte [edi + esi + 2], 0
push 0x100eec48
lea eax, [ebp - 0xb8]
mov byte [ebp - 4], 0x15
push eax
lea eax, [ebp - 0xd0]
push eax
call fcn.100159b0
add esp, 0x18
cmp dword [eax + 0x14], 0x10
mov ecx, dword [eax + 0x10]
mov byte [ebp - 4], 0x16
jb 0x100830ab
mov eax, dword [eax]
push ecx
push eax
lea ecx, [ebp - 0x118]
call fcn.1000f260
lea ecx, [ebp - 0xd0]
call fcn.10003100
mov edx, dword [ebp - 0xa4]
mov byte [ebp - 4], 0x14
cmp edx, 0x10
jb 0x10083103
mov ecx, dword [ebp - 0xb8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100830f9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100830f9
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.100dbfa3
add esp, 8
mov eax, dword [0x101a025c]
lea ecx, [ebp - 0xb0]
movups xmm0, xmmword [ebp - 0x150]
mov esi, dword [ebp - 0x9c]
sub esi, dword [0x1019c4f0]
mov eax, dword [eax + 0x48]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0xa0]
push 0xff
cdq
push 0
sub eax, edx
push 0
mov edi, eax
push 0
movups xmmword [ebp - 0x78], xmm0
sar edi, 1
call fcn.10088860
sub esp, 0x10
mov ecx, esp
movups xmm0, xmmword [eax]
push 1
push 1
sub esp, 0x10
cmp dword [ebp - 0x104], 0x10
mov eax, esp
movups xmmword [ecx], xmm0
movups xmm0, xmmword [ebp - 0x78]
movups xmmword [eax], xmm0
lea eax, [ebp - 0x118]
cmovae eax, dword [ebp - 0x118]
sub esp, 0x18
mov ecx, esp
push eax
call fcn.10004610
push dword [ebp - 0x14]
mov ecx, dword [0x101a025c]
movd xmm0, esi
sub esp, 8
cvtdq2ps xmm0, xmm0
movss dword [esp + 4], xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
call fcn.1002ac30
mov eax, dword [0x1019c830]
movss xmm0, dword [eax + 0x10]
comiss xmm0, dword [0x101a23d0]
jbe 0x100831dc
addss xmm0, dword [0x100e42f8]
movss xmm1, dword [ebp - 0x18]
movss dword [0x101a23c8], xmm1
movss dword [0x101a23d0], xmm0
mov al, byte [ebp - 0x2d]
lea ecx, [ebp - 0x140]
mov byte [0x101a23d4], al
call fcn.10003100
lea ecx, [ebp - 0x200]
call fcn.100812a0
lea ecx, [ebp - 0x118]
call fcn.10003100
lea ecx, [ebp - 0x2b0]
call fcn.100812a0
mov edx, dword [ebp - 0x84]
cmp edx, 0x10
jb 0x1008324c
mov ecx, dword [ebp - 0x98]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10083242
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10083242
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.100dbfa3
add esp, 8
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push 0x101a23c4
call fcn.100dc42f
add esp, 4
cmp dword [0x101a23c4], 0xffffffff
jne 0x10081d4a
push 0x100e25b0
call fcn.100dc2e7
push 0x101a23c4
call fcn.100dc3e5
add esp, 8
jmp 0x10081d4a
call fcn.10003370
int3