Function at 0x1001efb0
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10028dc3
mov eax, dword fs:[0]
push eax
mov eax, 0x1014
call fcn.100277f0
mov eax, dword [0x1003300c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [0x1022f0c4]
test eax, eax
je 0x10020e92
cmp dword [eax + 0x3c], 0
je 0x10020e92
mov eax, dword [eax + 0x2c]
xor ecx, ecx
mov dword [ebp - 0xf18], ecx
test eax, eax
je 0x10020e92
cmp eax, ecx
jbe 0x1001f021
test ecx, ecx
jle 0x1001f021
mov eax, dword [0x1022f0c4]
mov eax, dword [eax + 0x44]
mov ebx, dword [eax + ecx*4]
jmp 0x1001f023
xor ebx, ebx
cmp dword [0x1022f1b8], 0
mov dword [ebp - 0xf24], ebx
jne 0x1001f057
push 0x4ac
call fcn.10026bd6
add esp, 4
mov dword [ebp - 0xf28], eax
mov ecx, eax
call fcn.10023350
mov ecx, dword [ebp - 0xf18]
mov dword [0x1022f1b8], eax
mov eax, dword [0x1022f1b8]
cmp byte [eax + 0x57], 0
je 0x1001f076
test ebx, ebx
je 0x10020e7b
cmp ebx, dword [0x1022f1a4]
je 0x10020e7b
test ebx, ebx
je 0x10020e7b
mov eax, dword [ebx + 0xe0c]
cmp eax, 0x20
je 0x1001f092
cmp eax, 0x21
jne 0x10020e7b
mov eax, ebx
shr eax, 0x10
test eax, eax
je 0x10020e7b
mov eax, dword [0x1022f1a4]
movq xmm0, qword [eax + 0x2c]
mov eax, dword [eax + 0x34]
movq qword [ebp - 0xf80], xmm0
movq xmm0, qword [ebx + 0x2c]
movq qword [ebp - 0xf8c], xmm0
movss xmm2, dword [ebp - 0xf8c]
subss xmm2, dword [ebp - 0xf80]
movss xmm0, dword [ebp - 0xf88]
subss xmm0, dword [ebp - 0xf7c]
mov dword [ebp - 0xf78], eax
mov eax, dword [ebx + 0x34]
mov dword [ebp - 0xf84], eax
movss xmm1, dword [ebp - 0xf84]
subss xmm1, dword [ebp - 0xf78]
mulss xmm2, xmm2
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm2, xmm0
addss xmm2, xmm1
cvtps2pd xmm0, xmm2
movss dword [ebp - 0xf4c], xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
cvtsd2ss xmm0, xmm0
lea eax, [ebp - 0xda8]
mov edx, ebx
push eax
push 6
lea ecx, [ebp - 0xfb0]
movss dword [ebp - 0xf10], xmm0
movss xmm0, dword [ebx + 0x2d2c]
movss dword [ebp - 0xf28], xmm0
call fcn.1001ded0
lea eax, [ebp - 0xdfc]
mov edx, ebx
push eax
push 5
lea ecx, [ebp - 0x101c]
call fcn.1001ded0
lea eax, [ebp - 0xdc0]
mov edx, ebx
push eax
push 0x3c
lea ecx, [ebp - 0x1010]
call fcn.1001ded0
lea eax, [ebp - 0xdcc]
mov edx, ebx
push eax
push 0xa
lea ecx, [ebp - 0x1004]
call fcn.1001ded0
lea eax, [ebp - 0xdd8]
mov edx, ebx
push eax
push 0x37
lea ecx, [ebp - 0xfbc]
call fcn.1001ded0
lea eax, [ebp - 0xde4]
mov edx, ebx
push eax
push 0x1f
lea ecx, [ebp - 0xfc8]
call fcn.1001ded0
lea eax, [ebp - 0xdf0]
mov edx, ebx
push eax
push 0x30
lea ecx, [ebp - 0xfd4]
call fcn.1001ded0
lea eax, [ebp - 0xdb4]
mov edx, ebx
push eax
push 0x1a
lea ecx, [ebp - 0xfe0]
call fcn.1001ded0
add esp, 0x40
lea eax, [ebp - 0xe08]
mov edx, ebx
lea ecx, [ebp - 0xfec]
push eax
push 0x37
call fcn.1001ded0
lea eax, [ebp - 0xe14]
mov edx, ebx
push eax
push 6
lea ecx, [ebp - 0xff8]
call fcn.1001ded0
call fcn.10021ec0
push dword [0x1022f12c]
lea edx, [ebp - 0xd78]
lea ecx, [ebp - 0xdc0]
call fcn.1001cc90
add esp, 0x14
call fcn.10021ec0
push dword [0x1022f12c]
lea edx, [ebp - 0xd60]
lea ecx, [ebp - 0xdcc]
call fcn.1001cc90
add esp, 4
call fcn.10021ec0
push dword [0x1022f12c]
lea edx, [ebp - 0xd6c]
lea ecx, [ebp - 0xdd8]
call fcn.1001cc90
add esp, 4
call fcn.10021ec0
push dword [0x1022f12c]
lea edx, [ebp - 0xd90]
lea ecx, [ebp - 0xde4]
call fcn.1001cc90
add esp, 4
call fcn.10021ec0
push dword [0x1022f12c]
lea edx, [ebp - 0xd84]
lea ecx, [ebp - 0xdf0]
call fcn.1001cc90
add esp, 4
call fcn.10021ec0
push dword [0x1022f12c]
lea edx, [ebp - 0xd54]
lea ecx, [ebp - 0xdb4]
call fcn.1001cc90
add esp, 4
call fcn.10021ec0
push dword [0x1022f12c]
lea edx, [ebp - 0xd9c]
lea ecx, [ebp - 0xdfc]
call fcn.1001cc90
mov eax, dword [0x1022f1a4]
add esp, 4
mov eax, dword [eax + 0x2c78]
test eax, eax
jle 0x1001f313
cmp eax, dword [ebx + 0x2c78]
je 0x10020e75
mov ecx, ebx
call fcn.1001ce00
test al, al
jne 0x10020e75
call fcn.10021ec0
push dword [0x1022f12c]
lea edx, [ebp - 0xbdc]
lea ecx, [ebp - 0xe08]
call fcn.1001cc90
add esp, 4
test al, al
je 0x10020e75
call fcn.10021ec0
push dword [0x1022f12c]
lea edx, [ebp - 0xbe8]
lea ecx, [ebp - 0xe14]
call fcn.1001cc90
add esp, 4
test al, al
je 0x10020e75
cvttss2si eax, dword [ebp - 0xbe8]
lea ecx, [ebp - 0xf48]
mov esi, ecx
mov dword [ebp - 0xf48], eax
cvttss2si eax, dword [ebp - 0xd78]
mov dword [ebp - 0xf44], eax
cvttss2si eax, dword [ebp - 0xd60]
mov dword [ebp - 0xf40], eax
cvttss2si eax, dword [ebp - 0xd90]
mov dword [ebp - 0xf3c], eax
cvttss2si eax, dword [ebp - 0xd6c]
mov dword [ebp - 0xf38], eax
cvttss2si eax, dword [ebp - 0xd84]
mov dword [ebp - 0xf34], eax
cvttss2si eax, dword [ebp - 0xd54]
mov dword [ebp - 0xf30], eax
lea eax, [ebp - 0xf44]
mov edx, eax
lea edi, [eax + 4]
mov dword [ebp - 0xf1c], ecx
mov eax, dword [eax]
lea ebx, [ebp - 0xf2c]
cmp edi, ebx
jne 0x1001f407
cmp eax, dword [ecx]
jge 0x1001f3ff
mov ecx, edx
jmp 0x1001f43e
cmp eax, dword [esi]
jl 0x1001f43e
mov esi, edx
jmp 0x1001f43e
mov ebx, dword [edi]
mov dword [ebp - 0xf20], eax
cmp ebx, eax
jge 0x1001f42f
mov eax, dword [ecx]
cmp ebx, eax
mov eax, dword [ebp - 0xf20]
mov ecx, edi
cmovge ecx, dword [ebp - 0xf1c]
cmp eax, dword [esi]
cmovl edx, esi
mov esi, edx
jmp 0x1001f43c
cmp eax, dword [ecx]
cmovge edx, ecx
mov ecx, edx
cmp ebx, dword [esi]
jl 0x1001f43c
mov esi, edi
mov edx, edi
lea eax, [edx + 4]
lea edi, [ebp - 0xf2c]
mov edx, eax
cmp eax, edi
jne 0x1001f3e2
movss xmm2, dword [ebp - 0xbe4]
subss xmm2, dword [ebp - 0xd98]
mov eax, dword [ecx]
lea ecx, [ebp - 0xf48]
mov dword [ebp - 0xf14], eax
mov edx, ecx
mov eax, dword [esi]
mov dword [ebp - 0xf70], eax
lea eax, [ebp - 0xf44]
movaps xmm0, xmm2
mov esi, eax
mulss xmm0, dword [0x1002ebdc]
addss xmm2, xmm2
addss xmm0, dword [ebp - 0xbe4]
movss dword [ebp - 0xf48], xmm0
movss xmm0, dword [ebp - 0xd74]
subss xmm0, xmm2
movss dword [ebp - 0xf44], xmm0
movss xmm0, dword [ebp - 0xd5c]
movss dword [ebp - 0xf40], xmm0
movss xmm0, dword [ebp - 0xd8c]
movss dword [ebp - 0xf3c], xmm0
movss xmm0, dword [ebp - 0xd68]
subss xmm0, xmm2
movss dword [ebp - 0xf38], xmm0
movss xmm0, dword [ebp - 0xd80]
movss dword [ebp - 0xf34], xmm0
movss xmm0, dword [ebp - 0xd50]
movss dword [ebp - 0xf30], xmm0
nop dword [eax]
nop dword [eax + eax]
movss xmm0, dword [ecx]
lea ebx, [ebp - 0xf2c]
lea edi, [eax + 4]
mov dword [ebp - 0xf1c], edx
cmp edi, ebx
mov dword [ebp - 0xf20], ecx
mov ebx, edx
jne 0x1001f549
movss xmm1, dword [eax]
comiss xmm0, xmm1
jbe 0x1001f53c
mov ecx, esi
jmp 0x1001f588
movss xmm0, dword [edx]
comiss xmm0, xmm1
ja 0x1001f588
mov edx, esi
jmp 0x1001f588
movss xmm1, dword [edi]
movss xmm2, dword [eax]
comiss xmm2, xmm1
jbe 0x1001f575
comiss xmm0, xmm1
mov ecx, edi
movss xmm0, dword [edx]
mov edx, esi
seta al
test al, al
cmove ecx, dword [ebp - 0xf20]
comiss xmm0, xmm2
cmova edx, ebx
jmp 0x1001f586
comiss xmm0, xmm2
movss xmm0, dword [edx]
cmova ecx, esi
comiss xmm0, xmm1
ja 0x1001f586
mov edx, edi
mov esi, edi
lea eax, [esi + 4]
lea edi, [ebp - 0xf2c]
mov esi, eax
cmp eax, edi
jne 0x1001f510
movss xmm0, dword [edx]
mov eax, dword [ebp - 0xf70]
mov edx, dword [ebp - 0xf14]
sub eax, edx
mov ebx, dword [ebp - 0xf24]
movss dword [ebp - 0xf2c], xmm0
subss xmm0, dword [ecx]
movd xmm1, edx
cmp dword [ebx + 0xe0c], 0x240005
cvtdq2ps xmm1, xmm1
mov dword [ebp - 0xf70], eax
movss dword [ebp - 0xf50], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0xf1c], xmm1
mulss xmm0, dword [0x1002eb74]
movss xmm1, dword [ebx + 0x2d2c]
movss dword [ebp - 0xf54], xmm1
movss dword [ebp - 0xf20], xmm0
jne 0x1001f695
movss xmm0, dword [ebp - 0xf4c]
cvtps2pd xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
cvtsd2ss xmm0, xmm0
movss dword [ebp - 0xf14], xmm0
call fcn.10021ec0
push dword [0x1022f12c]
lea edx, [ebp - 0xbe8]
lea ecx, [ebp - 0xda8]
call fcn.1001cc90
add esp, 4
test al, al
je 0x1001f695
movss xmm0, dword [0x1002eca4]
comiss xmm0, dword [ebp - 0xf14]
jbe 0x1001f695
movss xmm0, dword [ebp - 0xbd8]
lea eax, [ebp - 0xa18]
addss xmm0, dword [0x1002ec04]
push eax
push 0xff00ff00
cvttss2si eax, xmm0
push eax
cvttss2si eax, dword [ebp - 0xbdc]
push eax
call fcn.1001d710
add esp, 0x10
mov esi, dword [sym.imp.USER32.dll_GetAsyncKeyState]
push 0x43
call esi
test ax, ax
je 0x1001f6cd
mov eax, dword [0x1022f1a4]
lea ecx, [ebp - 0xfa4]
push ecx
mov ecx, ebx
movq xmm0, qword [eax + 0x2c]
mov eax, dword [eax + 0x34]
mov dword [ebp - 0xf9c], eax
mov eax, dword [ebx]
movq qword [ebp - 0xfa4], xmm0
call dword [eax + 0x34]
push 0x58
call esi
cwde
test eax, 0x30d40
je 0x1001f701
mov ecx, dword [0x1022f1a4]
lea edx, [ebp - 0xf98]
mov eax, dword [ebx + 0x34]
movq xmm0, qword [ebx + 0x2c]
mov dword [ebp - 0xf90], eax
mov eax, dword [ecx]
push edx
movq qword [ebp - 0xf98], xmm0
call dword [eax + 0x34]
call fcn.10023ea0
cmp byte [eax + 0x35], 0
je 0x1001f75a
push dword [0x1022f1ac]
movss xmm0, dword [ebp - 0xf10]
lea eax, [ebp - 0x230]
cvtps2pd xmm0, xmm0
sub esp, 8
movsd qword [esp], xmm0
push 0x1002e058
push eax
call fcn.10001620
cvttss2si eax, dword [ebp - 0xbd8]
add esp, 0x14
lea ecx, [ebp - 0x230]
push 0xffffffffffffffff
cvttss2si edx, dword [ebp - 0xbdc]
push eax
call fcn.1001d960
add esp, 8
call fcn.10023ea0
cmp byte [eax + 0x34], 0
je 0x1002028f
movss xmm0, dword [ebx + 0x2d2c]
movss xmm1, dword [0x1002ec88]
ucomiss xmm0, xmm1
movss dword [ebp - 0xf0c], xmm0
lahf
test ah, 0x44
jp 0x1001f87b
call fcn.10021ec0
movss xmm0, dword [ebp - 0xbdc]
addss xmm0, dword [0x1002ebf8]
mov ebx, dword [0x1022f12c]
push 0
push ecx
mov dword [esp], 0
lea ecx, [ebp - 0xd08]
cvttss2si edi, xmm0
push 0xff000000
push 1
push ecx
push 1
push ebx
movss xmm0, dword [ebp - 0xbd8]
addss xmm0, dword [0x1002ec04]
sub edi, 0x16
mov dword [ebp - 0xd08], edi
cvttss2si esi, xmm0
lea eax, [edi + 0x2d]
mov dword [ebp - 0xd00], eax
sub esi, 2
mov dword [ebp - 0xd04], esi
lea eax, [esi + 6]
mov dword [ebp - 0xcfc], eax
mov eax, dword [ebx]
call dword [eax + 0xac]
movss xmm0, dword [ebp - 0xf0c]
mulss xmm0, dword [0x1002ec4c]
divss xmm0, dword [0x1002ec88]
call fcn.10027820
push 0
lea ecx, [edi + 1]
push ecx
mov dword [esp], 0
lea edx, [esi + 1]
add eax, ecx
mov dword [ebp - 0xd38], ecx
push 0xff00ff00
mov dword [ebp - 0xd30], eax
lea ecx, [ebp - 0xd38]
push 1
lea eax, [edx + 4]
mov dword [ebp - 0xd34], edx
push ecx
mov dword [ebp - 0xd2c], eax
mov eax, dword [ebx]
push 1
push ebx
call dword [eax + 0xac]
movss xmm0, dword [ebp - 0xf0c]
movss xmm1, dword [0x1002ec88]
comiss xmm0, dword [0x1002ec84]
jb 0x1001f976
comiss xmm1, xmm0
jb 0x1001f976
call fcn.10021ec0
movss xmm0, dword [ebp - 0xbdc]
addss xmm0, dword [0x1002ebf8]
mov ebx, dword [0x1022f12c]
push 0
push ecx
mov dword [esp], 0
lea ecx, [ebp - 0xd28]
cvttss2si edi, xmm0
push 0xff000000
push 1
push ecx
push 1
push ebx
movss xmm0, dword [ebp - 0xbd8]
addss xmm0, dword [0x1002ec04]
sub edi, 0x16
mov dword [ebp - 0xd28], edi
cvttss2si esi, xmm0
lea eax, [edi + 0x2d]
mov dword [ebp - 0xd20], eax
sub esi, 2
mov dword [ebp - 0xd24], esi
lea eax, [esi + 6]
mov dword [ebp - 0xd1c], eax
mov eax, dword [ebx]
call dword [eax + 0xac]
movss xmm0, dword [ebp - 0xf0c]
mulss xmm0, dword [0x1002ec4c]
divss xmm0, dword [0x1002ec88]
call fcn.10027820
push 0
lea ecx, [edi + 1]
push ecx
mov dword [esp], 0
lea edx, [esi + 1]
add eax, ecx
mov dword [ebp - 0xd18], ecx
push 0xff00ff00
mov dword [ebp - 0xd10], eax
lea ecx, [ebp - 0xd18]
push 1
lea eax, [edx + 4]
mov dword [ebp - 0xd14], edx
push ecx
mov dword [ebp - 0xd0c], eax
mov eax, dword [ebx]
push 1
push ebx
call dword [eax + 0xac]
movss xmm0, dword [ebp - 0xf0c]
comiss xmm0, dword [0x1002ec7c]
jb 0x1001fa79
movss xmm1, dword [0x1002ec80]
comiss xmm1, xmm0
jb 0x1001fa79
call fcn.10021ec0
movss xmm0, dword [ebp - 0xbdc]
addss xmm0, dword [0x1002ebf8]
mov ebx, dword [0x1022f12c]
push 0
push ecx
mov dword [esp], 0
lea ecx, [ebp - 0xcf8]
cvttss2si edi, xmm0
push 0xff000000
push 1
push ecx
push 1
push ebx
movss xmm0, dword [ebp - 0xbd8]
addss xmm0, dword [0x1002ec04]
sub edi, 0x16
mov dword [ebp - 0xcf8], edi
cvttss2si esi, xmm0
lea eax, [edi + 0x2d]
mov dword [ebp - 0xcf0], eax
sub esi, 2
mov dword [ebp - 0xcf4], esi
lea eax, [esi + 6]
mov dword [ebp - 0xcec], eax
mov eax, dword [ebx]
call dword [eax + 0xac]
movss xmm0, dword [ebp - 0xf0c]
mulss xmm0, dword [0x1002ec4c]
divss xmm0, dword [0x1002ec88]
call fcn.10027820
push 0
lea ecx, [edi + 1]
push ecx
mov dword [esp], 0
lea edx, [esi + 1]
add eax, ecx
mov dword [ebp - 0xce8], ecx
push 0xff00ff00
mov dword [ebp - 0xce0], eax
lea ecx, [ebp - 0xce8]
push 1
lea eax, [edx + 4]
mov dword [ebp - 0xce4], edx
push ecx
mov dword [ebp - 0xcdc], eax
mov eax, dword [ebx]
push 1
push ebx
call dword [eax + 0xac]
movss xmm0, dword [ebp - 0xf0c]
comiss xmm0, dword [0x1002ec6c]
jb 0x1001fb7c
movss xmm1, dword [0x1002ec78]
comiss xmm1, xmm0
jb 0x1001fb7c
call fcn.10021ec0
movss xmm0, dword [ebp - 0xbdc]
addss xmm0, dword [0x1002ebf8]
mov ebx, dword [0x1022f12c]
push 0
push ecx
mov dword [esp], 0
lea ecx, [ebp - 0xcd8]
cvttss2si edi, xmm0
push 0xff000000
push 1
push ecx
push 1
push ebx
movss xmm0, dword [ebp - 0xbd8]
addss xmm0, dword [0x1002ec04]
sub edi, 0x16
mov dword [ebp - 0xcd8], edi
cvttss2si esi, xmm0
lea eax, [edi + 0x2d]
mov dword [ebp - 0xcd0], eax
sub esi, 2
mov dword [ebp - 0xcd4], esi
lea eax, [esi + 6]
mov dword [ebp - 0xccc], eax
mov eax, dword [ebx]
call dword [eax + 0xac]
movss xmm0, dword [ebp - 0xf0c]
mulss xmm0, dword [0x1002ec4c]
divss xmm0, dword [0x1002ec88]
call fcn.10027820
push 0
lea ecx, [edi + 1]
push ecx
mov dword [esp], 0
lea edx, [esi + 1]
add eax, ecx
mov dword [ebp - 0xcc8], ecx
push 0xff00ff00
mov dword [ebp - 0xcc0], eax
lea ecx, [ebp - 0xcc8]
push 1
lea eax, [edx + 4]
mov dword [ebp - 0xcc4], edx
push ecx
mov dword [ebp - 0xcbc], eax
mov eax, dword [ebx]
push 1
push ebx
call dword [eax + 0xac]
movss xmm0, dword [ebp - 0xf0c]
comiss xmm0, dword [0x1002ec64]
jb 0x1001fc7f
movss xmm1, dword [0x1002ec68]
comiss xmm1, xmm0
jb 0x1001fc7f
call fcn.10021ec0
movss xmm0, dword [ebp - 0xbdc]
addss xmm0, dword [0x1002ebf8]
mov ebx, dword [0x1022f12c]
push 0
push ecx
mov dword [esp], 0
lea ecx, [ebp - 0xcb8]
cvttss2si edi, xmm0
push 0xff000000
push 1
push ecx
push 1
push ebx
movss xmm0, dword [ebp - 0xbd8]
addss xmm0, dword [0x1002ec04]
sub edi, 0x16
mov dword [ebp - 0xcb8], edi
cvttss2si esi, xmm0
lea eax, [edi + 0x2d]
mov dword [ebp - 0xcb0], eax
sub esi, 2
mov dword [ebp - 0xcb4], esi
lea eax, [esi + 6]
mov dword [ebp - 0xcac], eax
mov eax, dword [ebx]
call dword [eax + 0xac]
movss xmm0, dword [ebp - 0xf0c]
mulss xmm0, dword [0x1002ec4c]
divss xmm0, dword [0x1002ec88]
call fcn.10027820
push 0
lea ecx, [edi + 1]
push ecx
mov dword [esp], 0
lea edx, [esi + 1]
add eax, ecx
mov dword [ebp - 0xca8], ecx
push 0xffe1ff00
mov dword [ebp - 0xca0], eax
lea ecx, [ebp - 0xca8]
push 1
lea eax, [edx + 4]
mov dword [ebp - 0xca4], edx
push ecx
mov dword [ebp - 0xc9c], eax
mov eax, dword [ebx]
push 1
push ebx
call dword [eax + 0xac]
movss xmm0, dword [ebp - 0xf0c]
comiss xmm0, dword [0x1002ec58]
jb 0x1001fd82
movss xmm1, dword [0x1002ec60]
comiss xmm1, xmm0
jb 0x1001fd82
call fcn.10021ec0
movss xmm0, dword [ebp - 0xbdc]
addss xmm0, dword [0x1002ebf8]
mov ebx, dword [0x1022f12c]
push 0
push ecx
mov dword [esp], 0
lea ecx, [ebp - 0xc98]
cvttss2si edi, xmm0
push 0xff000000
push 1
push ecx
push 1
push ebx
movss xmm0, dword [ebp - 0xbd8]
addss xmm0, dword [0x1002ec04]
sub edi, 0x16
mov dword [ebp - 0xc98], edi
cvttss2si esi, xmm0
lea eax, [edi + 0x2d]
mov dword [ebp - 0xc90], eax
sub esi, 2
mov dword [ebp - 0xc94], esi
lea eax, [esi + 6]
mov dword [ebp - 0xc8c], eax
mov eax, dword [ebx]
call dword [eax + 0xac]
movss xmm0, dword [ebp - 0xf0c]
mulss xmm0, dword [0x1002ec4c]
divss xmm0, dword [0x1002ec88]
call fcn.10027820
push 0
lea ecx, [edi + 1]
push ecx
mov dword [esp], 0
lea edx, [esi + 1]
add eax, ecx
mov dword [ebp - 0xc88], ecx
push 0xffe1ff00
mov dword [ebp - 0xc80], eax
lea ecx, [ebp - 0xc88]
push 1
lea eax, [edx + 4]
mov dword [ebp - 0xc84], edx
push ecx
mov dword [ebp - 0xc7c], eax
mov eax, dword [ebx]
push 1
push ebx
call dword [eax + 0xac]
movss xmm0, dword [ebp - 0xf0c]
comiss xmm0, dword [0x1002ec48]
jb 0x1001fe85
movss xmm1, dword [0x1002ec54]
comiss xmm1, xmm0
jb 0x1001fe85
call fcn.10021ec0
movss xmm0, dword [ebp - 0xbdc]
addss xmm0, dword [0x1002ebf8]
mov ebx, dword [0x1022f12c]
push 0
push ecx
mov dword [esp], 0
lea ecx, [ebp - 0xc68]
cvttss2si edi, xmm0
push 0xff000000
push 1
push ecx
push 1
push ebx
movss xmm0, dword [ebp - 0xbd8]
addss xmm0, dword [0x1002ec04]
sub edi, 0x16
mov dword [ebp - 0xc68], edi
cvttss2si esi, xmm0
lea eax, [edi + 0x2d]
mov dword [ebp - 0xc60], eax
sub esi, 2
mov dword [ebp - 0xc64], esi
lea eax, [esi + 6]
mov dword [ebp - 0xc5c], eax
mov eax, dword [ebx]
call dword [eax + 0xac]
movss xmm0, dword [ebp - 0xf0c]
mulss xmm0, dword [0x1002ec4c]
divss xmm0, dword [0x1002ec88]
call fcn.10027820
push 0
lea ecx, [edi + 1]
push ecx
mov dword [esp], 0
lea edx, [esi + 1]
add eax, ecx
mov dword [ebp - 0xc58], ecx
push 0xffe1cc00
mov dword [ebp - 0xc50], eax
lea ecx, [ebp - 0xc58]
push 1
lea eax, [edx + 4]
mov dword [ebp - 0xc54], edx
push ecx
mov dword [ebp - 0xc4c], eax
mov eax, dword [ebx]
push 1
push ebx
call dword [eax + 0xac]
movss xmm0, dword [ebp - 0xf0c]
comiss xmm0, dword [0x1002ec40]
jb 0x1001ff88
movss xmm1, dword [0x1002ec44]
comiss xmm1, xmm0
jb 0x1001ff88
call fcn.10021ec0
movss xmm0, dword [ebp - 0xbdc]
addss xmm0, dword [0x1002ebf8]
mov ebx, dword [0x1022f12c]
push 0
push ecx
mov dword [esp], 0
lea ecx, [ebp - 0xc78]
cvttss2si edi, xmm0
push 0xff000000
push 1
push ecx
push 1
push ebx
movss xmm0, dword [ebp - 0xbd8]
addss xmm0, dword [0x1002ec04]
sub edi, 0x16
mov dword [ebp - 0xc78], edi
cvttss2si esi, xmm0
lea eax, [edi + 0x2d]
mov dword [ebp - 0xc70], eax
sub esi, 2
mov dword [ebp - 0xc74], esi
lea eax, [esi + 6]
mov dword [ebp - 0xc6c], eax
mov eax, dword [ebx]
call dword [eax + 0xac]
movss xmm0, dword [ebp - 0xf0c]
mulss xmm0, dword [0x1002ec4c]
divss xmm0, dword [0x1002ec88]
call fcn.10027820
push 0
lea ecx, [edi + 1]
push ecx
mov dword [esp], 0
lea edx, [esi + 1]
add eax, ecx
mov dword [ebp - 0xc48], ecx
push 0xffe1cc00
mov dword [ebp - 0xc40], eax
lea ecx, [ebp - 0xc48]
push 1
lea eax, [edx + 4]
mov dword [ebp - 0xc44], edx
push ecx
mov dword [ebp - 0xc3c], eax
mov eax, dword [ebx]
push 1
push ebx
call dword [eax + 0xac]
movss xmm0, dword [ebp - 0xf0c]
comiss xmm0, dword [0x1002ec30]
jb 0x1002008b
movss xmm1, dword [0x1002ec3c]
comiss xmm1, xmm0
jb 0x1002008b
call fcn.10021ec0
movss xmm0, dword [ebp - 0xbdc]
addss xmm0, dword [0x1002ebf8]
mov ebx, dword [0x1022f12c]
push 0
push ecx
mov dword [esp], 0
lea ecx, [ebp - 0xc38]
cvttss2si edi, xmm0
push 0xff000000
push 1
push ecx
push 1
push ebx
movss xmm0, dword [ebp - 0xbd8]
addss xmm0, dword [0x1002ec04]
sub edi, 0x16
mov dword [ebp - 0xc38], edi
cvttss2si esi, xmm0
lea eax, [edi + 0x2d]
mov dword [ebp - 0xc30], eax
sub esi, 2
mov dword [ebp - 0xc34], esi
lea eax, [esi + 6]
mov dword [ebp - 0xc2c], eax
mov eax, dword [ebx]
call dword [eax + 0xac]
movss xmm0, dword [ebp - 0xf0c]
mulss xmm0, dword [0x1002ec4c]
divss xmm0, dword [0x1002ec88]
call fcn.10027820
push 0
lea ecx, [edi + 1]
push ecx
mov dword [esp], 0
lea edx, [esi + 1]
add eax, ecx
mov dword [ebp - 0xc28], ecx
push 0xffff0000
mov dword [ebp - 0xc20], eax
lea ecx, [ebp - 0xc28]
push 1
lea eax, [edx + 4]
mov dword [ebp - 0xc24], edx
push ecx
mov dword [ebp - 0xc1c], eax
mov eax, dword [ebx]
push 1
push ebx
call dword [eax + 0xac]
movss xmm0, dword [ebp - 0xf0c]
comiss xmm0, dword [0x1002ec08]
jb 0x1002018e
movss xmm1, dword [0x1002ec2c]
comiss xmm1, xmm0
jb 0x1002018e
call fcn.10021ec0
movss xmm0, dword [ebp - 0xbdc]
addss xmm0, dword [0x1002ebf8]
mov ebx, dword [0x1022f12c]
push 0
push ecx
mov dword [esp], 0
lea ecx, [ebp - 0xc18]
cvttss2si edi, xmm0
push 0xff000000
push 1
push ecx
push 1
push ebx
movss xmm0, dword [ebp - 0xbd8]
addss xmm0, dword [0x1002ec04]
sub edi, 0x16
mov dword [ebp - 0xc18], edi
cvttss2si esi, xmm0
lea eax, [edi + 0x2d]
mov dword [ebp - 0xc10], eax
sub esi, 2
mov dword [ebp - 0xc14], esi
lea eax, [esi + 6]
mov dword [ebp - 0xc0c], eax
mov eax, dword [ebx]
call dword [eax + 0xac]
movss xmm0, dword [ebp - 0xf0c]
mulss xmm0, dword [0x1002ec4c]
divss xmm0, dword [0x1002ec88]
call fcn.10027820
push 0
lea ecx, [edi + 1]
push ecx
mov dword [esp], 0
lea edx, [esi + 1]
add eax, ecx
mov dword [ebp - 0xc08], ecx
push 0xffff0000
mov dword [ebp - 0xc00], eax
lea ecx, [ebp - 0xc08]
push 1
lea eax, [edx + 4]
mov dword [ebp - 0xc04], edx
push ecx
mov dword [ebp - 0xbfc], eax
mov eax, dword [ebx]
push 1
push ebx
call dword [eax + 0xac]
movss xmm0, dword [ebp - 0xf0c]
comiss xmm0, dword [0x1002eb9c]
jb 0x10020289
movss xmm1, dword [0x1002ec04]
comiss xmm1, xmm0
jb 0x10020289
call fcn.10021ec0
movss xmm0, dword [ebp - 0xbdc]
addss xmm0, dword [0x1002ebf8]
mov ebx, dword [0x1022f12c]
push 0
push ecx
mov dword [esp], 0
lea ecx, [ebp - 0xbf8]
cvttss2si edi, xmm0
push 0xff000000
push 1
push ecx
push 1
push ebx
movss xmm0, dword [ebp - 0xbd8]
addss xmm0, dword [0x1002ec04]
sub edi, 0x16
mov dword [ebp - 0xbf8], edi
cvttss2si esi, xmm0
lea eax, [edi + 0x2d]
mov dword [ebp - 0xbf0], eax
sub esi, 2
mov dword [ebp - 0xbf4], esi
lea eax, [esi + 6]
mov dword [ebp - 0xbec], eax
mov eax, dword [ebx]
call dword [eax + 0xac]
movss xmm0, dword [ebp - 0xf0c]
mulss xmm0, dword [0x1002ec4c]
divss xmm0, dword [0x1002ec88]
call fcn.10027820
push 0
lea ecx, [edi + 1]
push ecx
mov dword [esp], 0
lea edx, [esi + 1]
add eax, ecx
mov dword [ebp - 0xd48], ecx
push 0xffff0000
mov dword [ebp - 0xd40], eax
lea ecx, [ebp - 0xd48]
push 1
lea eax, [edx + 4]
mov dword [ebp - 0xd44], edx
push ecx
mov dword [ebp - 0xd3c], eax
mov eax, dword [ebx]
push 1
push ebx
call dword [eax + 0xac]
mov ebx, dword [ebp - 0xf24]
call fcn.10023ea0
cmp byte [eax + 0x38], 0
je 0x10020381
movss xmm1, dword [ebp - 0xf54]
comiss xmm1, dword [0x1002eb9c]
jb 0x10020381
movss xmm0, dword [0x1002ec88]
minss xmm0, xmm1
movaps xmm1, xmm0
comiss xmm1, dword [0x1002ec74]
movss dword [ebp - 0xf54], xmm1
jbe 0x100202da
mov edi, 0xff00ff00
jmp 0x100202ee
comiss xmm1, dword [0x1002ec44]
mov edi, 0xffff0000
mov eax, 0xffff9b00
cmova edi, eax
call fcn.10021ec0
movss xmm0, dword [ebp - 0xf20]
mov ecx, 0xff000000
movss xmm4, dword [ebp - 0xf1c]
mov esi, dword [0x1022f12c]
subss xmm4, xmm0
mulss xmm0, dword [0x1002eb80]
mov edx, esi
movss xmm3, dword [ebp - 0xf50]
movss xmm2, dword [0x1002ebc8]
movss xmm1, dword [ebp - 0xf2c]
subss xmm4, xmm0
movaps xmm0, xmm4
movss dword [ebp - 0xf14], xmm4
call fcn.1001d300
movss xmm3, dword [ebp - 0xf54]
mov edx, esi
mulss xmm3, dword [ebp - 0xf50]
mov ecx, edi
movss xmm2, dword [0x1002eb9c]
movss xmm1, dword [ebp - 0xf2c]
divss xmm3, dword [0x1002ec88]
movss xmm0, dword [ebp - 0xf14]
call fcn.1001d300
call fcn.10023ea0
cmp byte [eax + 0x33], 0
je 0x100204f6
movss xmm0, dword [ebp - 0xbd8]
subss xmm0, dword [ebp - 0xbe4]
maxss xmm0, dword [0x1002eb9c]
movss dword [ebp - 0xf0c], xmm0
divss xmm0, dword [0x1002ebd8]
movss dword [ebp - 0xf4c], xmm0
call fcn.10021ec0
movss xmm3, dword [ebp - 0xf4c]
mulss xmm3, dword [0x1002eb80]
push ecx
movss xmm1, dword [ebp - 0xbdc]
movss xmm2, dword [ebp - 0xbd8]
subss xmm2, dword [ebp - 0xf0c]
mov ecx, dword [0x1022f12c]
subss xmm1, xmm3
movss dword [ebp - 0xf14], xmm3
movss xmm3, dword [ebp - 0xf4c]
movss dword [esp], xmm2
addss xmm3, xmm1
call fcn.1001ce50
add esp, 4
call fcn.10021ec0
movss xmm1, dword [ebp - 0xbdc]
movss xmm0, dword [ebp - 0xf0c]
movss xmm2, dword [ebp - 0xbd8]
subss xmm1, dword [ebp - 0xf14]
subss xmm2, xmm0
push ecx
mov ecx, dword [0x1022f12c]
addss xmm1, dword [ebp - 0xf4c]
addss xmm0, xmm2
movaps xmm3, xmm1
movss dword [esp], xmm0
call fcn.1001ce50
add esp, 4
call fcn.10021ec0
movss xmm2, dword [ebp - 0xbd8]
movss xmm3, dword [ebp - 0xbdc]
subss xmm2, dword [ebp - 0xf0c]
subss xmm3, dword [ebp - 0xf14]
movss xmm1, dword [ebp - 0xf4c]
push ecx
mov ecx, dword [0x1022f12c]
addss xmm2, dword [ebp - 0xf0c]
addss xmm1, xmm3
movss dword [esp], xmm2
call fcn.1001ce50
add esp, 4
call fcn.10021ec0
movss xmm2, dword [ebp - 0xf0c]
movss xmm0, dword [ebp - 0xbd8]
movss xmm1, dword [ebp - 0xbdc]
subss xmm0, xmm2
subss xmm1, dword [ebp - 0xf14]
push ecx
mov ecx, dword [0x1022f12c]
addss xmm2, xmm0
movss dword [esp], xmm0
movaps xmm3, xmm1
call fcn.1001ce50
add esp, 4
call fcn.10023ea0
cmp byte [eax + 0x61], 0
je 0x100205b9
call fcn.10021ec0
movss xmm2, dword [ebp - 0xf20]
xor ecx, ecx
movss xmm4, dword [ebp - 0xf1c]
movaps xmm0, xmm2
mulss xmm0, dword [0x1002eb80]
subss xmm4, xmm2
mov edi, dword [0x1022f12c]
mov edx, edi
cvttss2si esi, dword [ebp - 0xf50]
subss xmm4, xmm0
movaps xmm1, xmm2
movd xmm0, dword [ebp - 0xf70]
addss xmm1, xmm2
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0xf14], xmm4
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm1, xmm0
movd xmm0, esi
cvtdq2ps xmm3, xmm0
movss dword [ebp - 0xf70], xmm1
movaps xmm2, xmm1
movss xmm1, dword [ebp - 0xf2c]
movaps xmm0, xmm4
call fcn.1001d300
movss xmm3, dword [ebp - 0xf70]
movss xmm2, dword [ebp - 0xf2c]
movss xmm1, dword [ebp - 0xf14]
movd xmm0, esi
cvtdq2ps xmm0, xmm0
push ecx
mov ecx, edi
movss dword [esp], xmm0
call fcn.1001d040
add esp, 4
call fcn.10023ea0
cmp byte [eax + 0x55], 0
je 0x1002064c
cmp dword [ebx + 0x2c78], 0
je 0x1002064c
mov eax, dword [ebx + 0x2c7c]
dec eax
cmp eax, 7
ja case.0x100205dd.1
jmp dword [eax*4 + 0x10020eb4]
mov ecx, 0xffa6780c
jmp 0x1002061a
mov ecx, 0xff10a49e
jmp 0x1002061a
mov ecx, 0xff20a414
jmp 0x1002061a
mov ecx, 0xff104ea4
jmp 0x1002061a
mov ecx, 0xff9610a4
jmp 0x1002061a
mov ecx, 0xff444444
jmp 0x1002061a
mov ecx, 0xffa4a4a4
jmp 0x1002061a
mov ecx, 0xffaa0000
movss xmm0, dword [ebp - 0xbd8]
lea eax, [ebx + 0x2c80]
xorps xmm1, xmm1
push eax
addss xmm0, xmm1
push str.__s_
push ecx
cvttss2si eax, xmm0
push eax
cvttss2si eax, dword [ebp - 0xbdc]
push eax
call fcn.1001d680
add esp, 0x14
call fcn.10023ea0
cmp byte [eax + 0x86], 0
je 0x100206c1
call fcn.10021ec0
mov esi, dword [0x1022f138]
mov ecx, esi
call fcn.10025020
mov dword [ebp - 0xf70], edx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x1002eb80]
call fcn.10027820
mov ecx, esi
mov edi, eax
call fcn.10025020
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x1002eb80]
call fcn.10027820
mov esi, eax
call fcn.10021ec0
push esi
push edi
call fcn.10023ea0
movd xmm0, dword [eax + 0x18]
cvtdq2ps xmm0, xmm0
call fcn.1001d810
add esp, 8
call fcn.10023ea0
cmp byte [eax + 9], 0
je 0x10020c49
movss xmm0, dword [0x1002ec94]
comiss xmm0, dword [ebp - 0xf10]
jbe 0x10020c49
cmp dword [ebx + 0x2c78], 0
je 0x10020943
mov eax, dword [ebx + 0x2c7c]
or edi, 0xffffffff
dec eax
cmp eax, 7
ja case.default.0x10020701
jmp dword [eax*4 + 0x10020ed4]
mov edi, 0xffaa0000
jmp case.default.0x10020701
mov edi, 0xffa6780c
jmp case.default.0x10020701
mov edi, 0xff10a49e
jmp case.default.0x10020701
mov edi, 0xff20a414
jmp case.default.0x10020701
mov edi, 0xff104ea4
jmp case.default.0x10020701
mov edi, 0xff9610a4
jmp case.default.0x10020701
mov edi, 0xff444444
jmp case.default.0x10020701
mov edi, 0xffa4a4a4
lea eax, [ebx + 0x2c80]
push eax
lea eax, [ebp - 0x150]
push str.__s_
push eax
call fcn.10022da0
lea ecx, [ebp - 0x150]
add esp, 0xc
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10020762
mov esi, dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
sub ecx, edx
lea eax, [ecx + 1]
push eax
lea eax, [ebp - 0xbd0]
push eax
push 0xffffffffffffffff
lea eax, [ebp - 0x150]
push eax
push 0
push 0xfde9
call esi
test eax, eax
jle 0x10020949
lea ecx, [ebp - 0x150]
mov dword [ebp - 0xf5c], 0
mov dword [ebp - 0xf58], 0xf
lea edx, [ecx + 1]
mov byte [ebp - 0xf6c], 0
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100207c0
sub ecx, edx
lea eax, [ebp - 0x150]
push ecx
push eax
lea ecx, [ebp - 0xf6c]
call fcn.10022b70
push 0x50
lea eax, [ebp - 0xf08]
mov dword [ebp - 4], 0
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0xf08]
call fcn.10022010
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xf6c]
cmp dword [ebp - 0xf58], 0x10
mov eax, dword [ebp - 0xf5c]
cmovae ecx, dword [ebp - 0xf6c]
add eax, ecx
push eax
push ecx
lea eax, [ebp - 0xf44]
push eax
lea ecx, [ebp - 0xf08]
call fcn.100226a0
lea ecx, [ebp - 0xf08]
call fcn.10021f10
mov byte [ebp - 4], 2
lea edx, [ebp - 0xf44]
cmp dword [ebp - 0xf30], 8
cmovae edx, dword [ebp - 0xf44]
sub esp, 0x18
mov esi, esp
mov ecx, edx
xor eax, eax
mov dword [esi + 0x10], 0
lea ebx, [ecx + 2]
mov dword [esi + 0x14], 7
mov word [esi], ax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10020875
sub ecx, ebx
sar ecx, 1
push ecx
push edx
mov ecx, esi
call fcn.10022a10
movss xmm0, dword [ebp - 0xf10]
subss xmm0, dword [0x1002ec18]
cvttss2si edx, dword [ebp - 0xf10]
push dword [0x1022f0e0]
cvttss2si ecx, xmm0
push edi
call fcn.1001d4a0
mov byte [ebp - 4], 0
add esp, 0x20
mov edx, dword [ebp - 0xf30]
cmp edx, 8
jb 0x100208fc
mov ecx, dword [ebp - 0xf44]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x100208f2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10020eae
push edx
push ecx
call fcn.10026b31
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0xf58]
cmp edx, 0x10
jb 0x1002093d
mov ecx, dword [ebp - 0xf6c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10020933
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10020eae
push edx
push ecx
call fcn.10026b31
add esp, 8
mov ebx, dword [ebp - 0xf24]
mov esi, dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea eax, [ebp - 0x230]
push eax
lea eax, [ebp - 0x150]
push 0x1002e074
push eax
call fcn.10022da0
lea ecx, [ebp - 0x150]
add esp, 0xc
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10020970
sub ecx, edx
lea eax, [ecx + 1]
push eax
lea eax, [ebp - 0x970]
push eax
push 0xffffffffffffffff
lea eax, [ebp - 0x150]
push eax
push 0
push 0xfde9
call esi
test eax, eax
jle 0x10020c49
cmp dword [ebx + 0x2c7c], 0
lea ecx, [ebp - 0x150]
mov dword [ebp - 0xf5c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0xf58], 0xf
mov byte [ebp - 0xf6c], 0
jne 0x10020ac3
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100209d0
sub ecx, edx
lea eax, [ebp - 0x150]
push ecx
push eax
lea ecx, [ebp - 0xf6c]
call fcn.10022b70
push 0x50
lea eax, [ebp - 0xe68]
mov dword [ebp - 4], 3
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0xe68]
call fcn.10022010
mov byte [ebp - 4], 4
lea ecx, [ebp - 0xf6c]
cmp dword [ebp - 0xf58], 0x10
mov eax, dword [ebp - 0xf5c]
cmovae ecx, dword [ebp - 0xf6c]
add eax, ecx
push eax
push ecx
lea eax, [ebp - 0xf44]
push eax
lea ecx, [ebp - 0xe68]
call fcn.100226a0
lea ecx, [ebp - 0xe68]
call fcn.10021f10
mov byte [ebp - 4], 5
lea edx, [ebp - 0xf44]
cmp dword [ebp - 0xf30], 8
cmovae edx, dword [ebp - 0xf44]
sub esp, 0x18
mov esi, esp
mov ecx, edx
xor eax, eax
mov dword [esi + 0x10], 0
lea edi, [ecx + 2]
mov dword [esi + 0x14], 7
mov word [esi], ax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10020a85
sub ecx, edi
sar ecx, 1
push ecx
push edx
mov ecx, esi
call fcn.10022a10
cvttss2si edx, dword [ebp - 0xf10]
cvttss2si ecx, dword [ebp - 0xf10]
push dword [0x1022f0e0]
push 0xffffffffffffffff
call fcn.1001d4a0
mov byte [ebp - 4], 3
jmp 0x10020bc5
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10020ac3
sub ecx, edx
lea eax, [ebp - 0x150]
push ecx
push eax
lea ecx, [ebp - 0xf6c]
call fcn.10022b70
push 0x50
lea eax, [ebp - 0xeb8]
mov dword [ebp - 4], 6
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0xeb8]
call fcn.10022010
mov byte [ebp - 4], 7
lea ecx, [ebp - 0xf6c]
cmp dword [ebp - 0xf58], 0x10
mov eax, dword [ebp - 0xf5c]
cmovae ecx, dword [ebp - 0xf6c]
add eax, ecx
push eax
push ecx
lea eax, [ebp - 0xf44]
push eax
lea ecx, [ebp - 0xeb8]
call fcn.100226a0
lea ecx, [ebp - 0xeb8]
call fcn.10021f10
mov byte [ebp - 4], 8
lea edx, [ebp - 0xf44]
cmp dword [ebp - 0xf30], 8
cmovae edx, dword [ebp - 0xf44]
sub esp, 0x18
mov esi, esp
mov ecx, edx
xor eax, eax
mov dword [esi + 0x10], 0
lea edi, [ecx + 2]
mov dword [esi + 0x14], 7
mov word [esi], ax
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10020b80
sub ecx, edi
sar ecx, 1
push ecx
push edx
mov ecx, esi
call fcn.10022a10
movss xmm0, dword [ebp - 0xf10]
addss xmm0, dword [0x1002ec50]
cvttss2si edx, dword [ebp - 0xf10]
push dword [0x1022f0e0]
cvttss2si ecx, xmm0
push 0xffffffffffffffff
call fcn.1001d4a0
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0xf30]
add esp, 0x20
cmp edx, 8
jb 0x10020c08
mov ecx, dword [ebp - 0xf44]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x10020bfe
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10020eae
push edx
push ecx
call fcn.10026b31
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0xf58]
cmp edx, 0x10
jb 0x10020c49
mov ecx, dword [ebp - 0xf6c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10020c3f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10020eae
push edx
push ecx
call fcn.10026b31
add esp, 8
mov eax, dword [ebp - 0xf28]
movss xmm1, dword [0x1002ec88]
mov dword [ebp - 0xf28], eax
movss xmm0, dword [ebp - 0xf28]
comiss xmm0, xmm1
jbe 0x10020c6d
movaps xmm0, xmm1
push dword [0x1022f1ac]
cvttss2si eax, dword [ebp - 0xbd8]
sub esp, 8
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.HP___.f_
push 0xffffff00
push eax
cvttss2si eax, dword [ebp - 0xbdc]
push eax
call fcn.1001d680
add esp, 0x1c
call fcn.10023ea0
cmp byte [eax + 0x39], 0
je 0x10020d98
movss xmm1, dword [ebp - 0xf54]
comiss xmm1, dword [0x1002eb9c]
jb 0x10020d98
movss xmm0, dword [0x1002ec88]
minss xmm0, xmm1
comiss xmm0, dword [0x1002ec74]
movss dword [ebp - 0xf28], xmm0
jbe 0x10020cea
mov edi, 0xff00ff00
jmp 0x10020cfe
comiss xmm0, dword [0x1002ec44]
mov edi, 0xffff0000
mov eax, 0xffff9b00
cmova edi, eax
call fcn.10021ec0
movss xmm0, dword [ebp - 0xf20]
mov ecx, 0xff000000
movss xmm1, dword [ebp - 0xf1c]
subss xmm1, xmm0
mov esi, dword [0x1022f12c]
cvtps2pd xmm0, xmm0
mov edx, esi
movss xmm3, dword [ebp - 0xf50]
divsd xmm0, qword [0x1002ebc0]
movss xmm2, dword [0x1002ebe0]
cvtps2pd xmm1, xmm1
subsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
movss xmm1, dword [ebp - 0xf2c]
movss dword [ebp - 0xf10], xmm0
call fcn.1001d300
movss xmm3, dword [ebp - 0xf28]
mov edx, esi
mulss xmm3, dword [ebp - 0xf50]
mov ecx, edi
movss xmm2, dword [0x1002ebcc]
movss xmm1, dword [ebp - 0xf2c]
divss xmm3, dword [0x1002ec88]
movss xmm0, dword [ebp - 0xf10]
call fcn.1001d300
call fcn.10023ea0
cmp byte [eax + 0x4d], 0
je 0x10020e5a
lea eax, [ebp - 0x6d0]
push eax
lea eax, [ebp - 0x370]
push 0x1002e074
push eax
call fcn.10022da0
add esp, 0xc
lea eax, [ebp - 0x5f0]
push eax
lea eax, [ebp - 0x7b0]
push 0x1002e074
push eax
call fcn.10001620
lea ecx, [ebp - 0x370]
add esp, 0xc
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10020de6
sub ecx, edx
lea eax, [ecx + 1]
push eax
lea eax, [ebp - 0x5f0]
push eax
push 0xffffffffffffffff
lea eax, [ebp - 0x370]
push eax
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
test eax, eax
jle 0x10020e5a
movss xmm0, dword [ebp - 0xbd8]
lea eax, [ebp - 0x5f0]
addss xmm0, dword [0x1002ec14]
push 0x101
push eax
push 0xffffffffffffffff
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 0xbdc]
subss xmm0, dword [0x1002ebe8]
push eax
cvttss2si eax, xmm0
push eax
push dword [0x1022f1ac]
call fcn.1001d400
add esp, 0x18
call fcn.10023ea0
cmp byte [eax + 0x36], 0
je 0x10020e75
call fcn.10021ec0
push ecx
mov ecx, ebx
call fcn.1001e060
add esp, 4
mov ecx, dword [ebp - 0xf18]
mov eax, dword [0x1022f0c4]
inc ecx
mov dword [ebp - 0xf18], ecx
mov eax, dword [eax + 0x2c]
cmp eax, ecx
ja 0x1001f010
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1002644f
mov esp, ebp
pop ebp
ret
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
adc eax, 0xe4100206
add eax, 99291138
add dl, byte [eax]
add eax, 0x5f91002
add dl, byte [eax]
add byte [esi], al
add dl, byte [eax]
pop es
push es
add dl, byte [eax]
push cs
push es
add dl, byte [eax]
or byte [edi], al
add dl, byte [eax]
sysret