Function at 0x10021700
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1002c547
mov eax, dword fs:[0]
push eax
mov eax, 0x133c
call fcn.1002b9e0
mov eax, dword [0x1003600c]
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 [0x102320bc]
test eax, eax
je 0x100246f0
cmp dword [eax + 0x3c], 0
je 0x100246f0
mov eax, dword [eax + 0x2c]
xor edx, edx
mov dword [ebp - 0x11cc], edx
test eax, eax
je 0x100246f0
mov ecx, dword [0x102321ac]
cmp eax, edx
jbe 0x10021777
test edx, edx
jle 0x10021777
mov eax, dword [0x102320bc]
mov eax, dword [eax + 0x44]
mov ebx, dword [eax + edx*4]
jmp 0x10021779
xor ebx, ebx
mov dword [ebp - 0x11c4], ebx
test ecx, ecx
jne 0x100217b9
push 0x4c8
call fcn.1002acbe
add esp, 4
mov dword [ebp - 0x12b8], eax
mov ecx, eax
mov dword [ebp - 4], 0
call fcn.10026d60
mov edx, dword [ebp - 0x11cc]
mov ecx, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x102321ac], ecx
cmp byte [ecx + 0x63], 0
je 0x100217d4
test ebx, ebx
je 0x100246d9
cmp ebx, dword [0x10232198]
jne 0x100217dc
jmp 0x100246d9
test ebx, ebx
je 0x100246d9
mov eax, dword [ebx + 0x210]
cmp eax, 0x20
je 0x100217f0
cmp eax, 0x21
jne 0x100246d9
mov eax, ebx
shr eax, 0x10
test eax, eax
je 0x100246d9
mov eax, dword [0x10232198]
movq xmm0, qword [eax + 0x24]
mov eax, dword [eax + 0x2c]
movq qword [ebp - 0x1268], xmm0
movq xmm0, qword [ebx + 0x24]
movq qword [ebp - 0x1274], xmm0
movss xmm0, dword [ebp - 0x1270]
movss xmm2, dword [ebp - 0x1274]
subss xmm2, dword [ebp - 0x1268]
subss xmm0, dword [ebp - 0x1264]
mov dword [ebp - 0x1260], eax
mov eax, dword [ebx + 0x2c]
mov dword [ebp - 0x126c], eax
movss xmm1, dword [ebp - 0x126c]
subss xmm1, dword [ebp - 0x1260]
mulss xmm2, xmm2
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm2, xmm0
addss xmm2, xmm1
xorps xmm1, xmm1
cvtps2pd xmm0, xmm2
ucomisd xmm1, xmm0
ja 0x10021884
sqrtsd xmm0, xmm0
jmp 0x10021889
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
cvtsd2ss xmm0, xmm0
lea eax, [ebp - 0xff8]
mov edx, ebx
push eax
push 6
lea ecx, [ebp - 0x1344]
movss dword [ebp - 0x11c0], xmm0
movss xmm0, dword [ebx + 0x2df4]
movss dword [ebp - 0x11f0], xmm0
call fcn.10020080
lea eax, [ebp - 0x1084]
mov edx, ebx
push eax
push 5
lea ecx, [ebp - 0x12f0]
call fcn.10020080
lea eax, [ebp - 0x10b4]
mov edx, ebx
push eax
push 0x3c
lea ecx, [ebp - 0x1320]
call fcn.10020080
lea eax, [ebp - 0x10a8]
mov edx, ebx
push eax
push 0xa
lea ecx, [ebp - 0x1314]
call fcn.10020080
lea eax, [ebp - 0x1090]
mov edx, ebx
push eax
push 0x37
lea ecx, [ebp - 0x132c]
call fcn.10020080
lea eax, [ebp - 0x109c]
mov edx, ebx
push eax
push 0x1f
lea ecx, [ebp - 0x1338]
call fcn.10020080
lea eax, [ebp - 0x106c]
mov edx, ebx
push eax
push 0x30
lea ecx, [ebp - 0x1308]
call fcn.10020080
lea eax, [ebp - 0x1078]
mov edx, ebx
push eax
push 0x1a
lea ecx, [ebp - 0x12fc]
call fcn.10020080
add esp, 0x40
cmp dword [0x10232190], 0
jne 0x10021998
push 1
call fcn.1002acbe
movaps xmm0, xmmword [0x10032390]
add esp, 4
mov dword [ebp - 0x11b4], eax
movups xmmword [0x102320f8], xmm0
mov dword [0x10232130], 0
mov dword [0x1023219c], 0
mov dword [0x10232190], eax
push dword [0x10232124]
lea edx, [ebp - 0x1010]
lea ecx, [ebp - 0x10b4]
call fcn.1001eb00
add esp, 4
cmp dword [0x10232190], 0
jne 0x100219f2
push 1
call fcn.1002acbe
movaps xmm0, xmmword [0x10032390]
add esp, 4
mov dword [ebp - 0x11b4], eax
movups xmmword [0x102320f8], xmm0
mov dword [0x10232130], 0
mov dword [0x1023219c], 0
mov dword [0x10232190], eax
push dword [0x10232124]
lea edx, [ebp - 0x101c]
lea ecx, [ebp - 0x10a8]
call fcn.1001eb00
add esp, 4
cmp dword [0x10232190], 0
jne 0x10021a4c
push 1
call fcn.1002acbe
movaps xmm0, xmmword [0x10032390]
add esp, 4
mov dword [ebp - 0x11b4], eax
movups xmmword [0x102320f8], xmm0
mov dword [0x10232130], 0
mov dword [0x1023219c], 0
mov dword [0x10232190], eax
push dword [0x10232124]
lea edx, [ebp - 0x1034]
lea ecx, [ebp - 0x1090]
call fcn.1001eb00
add esp, 4
cmp dword [0x10232190], 0
jne 0x10021aa6
push 1
call fcn.1002acbe
movaps xmm0, xmmword [0x10032390]
add esp, 4
mov dword [ebp - 0x11b4], eax
movups xmmword [0x102320f8], xmm0
mov dword [0x10232130], 0
mov dword [0x1023219c], 0
mov dword [0x10232190], eax
push dword [0x10232124]
lea edx, [ebp - 0x1028]
lea ecx, [ebp - 0x109c]
call fcn.1001eb00
add esp, 4
cmp dword [0x10232190], 0
jne 0x10021b00
push 1
call fcn.1002acbe
movaps xmm0, xmmword [0x10032390]
add esp, 4
mov dword [ebp - 0x11b4], eax
movups xmmword [0x102320f8], xmm0
mov dword [0x10232130], 0
mov dword [0x1023219c], 0
mov dword [0x10232190], eax
push dword [0x10232124]
lea edx, [ebp - 0x1040]
lea ecx, [ebp - 0x106c]
call fcn.1001eb00
add esp, 4
cmp dword [0x10232190], 0
jne 0x10021b5a
push 1
call fcn.1002acbe
movaps xmm0, xmmword [0x10032390]
add esp, 4
mov dword [ebp - 0x11b4], eax
movups xmmword [0x102320f8], xmm0
mov dword [0x10232130], 0
mov dword [0x1023219c], 0
mov dword [0x10232190], eax
push dword [0x10232124]
lea edx, [ebp - 0xfec]
lea ecx, [ebp - 0x1078]
call fcn.1001eb00
add esp, 4
cmp dword [0x10232190], 0
jne 0x10021bb4
push 1
call fcn.1002acbe
movaps xmm0, xmmword [0x10032390]
add esp, 4
mov dword [ebp - 0x11b4], eax
movups xmmword [0x102320f8], xmm0
mov dword [0x10232130], 0
mov dword [0x1023219c], 0
mov dword [0x10232190], eax
push dword [0x10232124]
lea edx, [ebp - 0x1004]
lea ecx, [ebp - 0x1084]
call fcn.1001eb00
mov ecx, dword [0x102321ac]
add esp, 4
test ecx, ecx
jne 0x10021c08
push 0x4c8
call fcn.1002acbe
add esp, 4
mov dword [ebp - 0x1278], eax
mov ecx, eax
mov dword [ebp - 4], 1
call fcn.10026d60
mov ecx, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x102321ac], ecx
cmp byte [ecx + 0x88], 0
je 0x10021c2c
mov eax, dword [0x10232198]
mov eax, dword [eax + 0x424]
test eax, eax
jle 0x10021c2c
cmp eax, dword [ebx + 0x424]
je 0x100246d3
cmp byte [ecx + 0x89], 0
je 0x10021c50
mov eax, dword [0x10232198]
mov eax, dword [eax + 0x3dc]
test eax, eax
jle 0x10021c50
cmp eax, dword [ebx + 0x3dc]
je 0x100246d3
cmp dword [0x10232190], 0
jne 0x10021c90
push 1
call fcn.1002acbe
movaps xmm0, xmmword [0x10032390]
add esp, 4
mov dword [ebp - 0x11b4], eax
movups xmmword [0x102320f8], xmm0
mov dword [0x10232130], 0
mov dword [0x1023219c], 0
mov dword [0x10232190], eax
movq xmm0, qword [ebx + 0x24]
lea edx, [ebp - 0xe74]
mov eax, dword [ebx + 0x2c]
lea ecx, [ebp - 0x12b4]
push dword [0x10232124]
movq qword [ebp - 0x12b4], xmm0
mov dword [ebp - 0x12ac], eax
call fcn.1001eb00
add esp, 4
test al, al
je 0x100246cd
cmp dword [0x10232190], 0
jne 0x10021d08
push 1
call fcn.1002acbe
movaps xmm0, xmmword [0x10032390]
add esp, 4
mov dword [ebp - 0x11b4], eax
movups xmmword [0x102320f8], xmm0
mov dword [0x10232130], 0
mov dword [0x1023219c], 0
mov dword [0x10232190], eax
push dword [0x10232124]
lea edx, [ebp - 0xe80]
lea ecx, [ebp - 0xff8]
call fcn.1001eb00
add esp, 4
test al, al
je 0x100246cd
cvttss2si eax, dword [ebp - 0xe80]
lea ecx, [ebp - 0x11ec]
mov edx, ecx
mov dword [ebp - 0x11ec], eax
cvttss2si eax, dword [ebp - 0x1010]
mov dword [ebp - 0x11e8], eax
cvttss2si eax, dword [ebp - 0x101c]
mov dword [ebp - 0x11e4], eax
cvttss2si eax, dword [ebp - 0x1028]
mov dword [ebp - 0x11e0], eax
cvttss2si eax, dword [ebp - 0x1034]
mov dword [ebp - 0x11dc], eax
cvttss2si eax, dword [ebp - 0x1040]
mov dword [ebp - 0x11d8], eax
cvttss2si eax, dword [ebp - 0xfec]
mov dword [ebp - 0x11d4], eax
lea eax, [ebp - 0x11e8]
nop word [eax + eax]
lea esi, [eax + 4]
lea edi, [ebp - 0x11d0]
cmp esi, edi
jne 0x10021dbf
mov esi, dword [eax]
cmp esi, dword [ecx]
jge 0x10021db7
mov ecx, eax
jmp 0x10021df0
cmp esi, dword [edx]
jl 0x10021df0
mov edx, eax
jmp 0x10021df0
mov edi, dword [ecx]
mov ebx, dword [eax]
mov dword [ebp - 0x11b4], edi
mov edi, dword [esi]
cmp edi, ebx
jge 0x10021de0
cmp edi, dword [ebp - 0x11b4]
cmovl ecx, esi
cmp ebx, dword [edx]
jl 0x10021dee
mov edx, eax
jmp 0x10021dee
cmp ebx, dword [ebp - 0x11b4]
cmovl ecx, eax
cmp edi, dword [edx]
cmovge edx, esi
mov eax, esi
add eax, 4
lea esi, [ebp - 0x11d0]
cmp eax, esi
jne 0x10021da0
movss xmm1, dword [ebp - 0xe7c]
subss xmm1, dword [ebp - 0x1000]
mov eax, dword [ecx]
lea ecx, [ebp - 0x11e8]
mov ebx, dword [edx]
lea edx, [ebp - 0x11ec]
mov dword [ebp - 0x11b4], eax
mov esi, edx
movaps xmm0, xmm1
addss xmm1, xmm1
mulss xmm0, dword [0x10031de4]
addss xmm0, dword [ebp - 0xe7c]
movss dword [ebp - 0x11ec], xmm0
movss xmm0, dword [ebp - 0x100c]
subss xmm0, xmm1
movss dword [ebp - 0x11e8], xmm0
movss xmm0, dword [ebp - 0x1018]
movss dword [ebp - 0x11e4], xmm0
movss xmm0, dword [ebp - 0x1024]
movss dword [ebp - 0x11e0], xmm0
movss xmm0, dword [ebp - 0x1030]
subss xmm0, xmm1
movss dword [ebp - 0x11dc], xmm0
movss xmm0, dword [ebp - 0x103c]
movss dword [ebp - 0x11d8], xmm0
movss xmm0, dword [ebp - 0xfe8]
movss dword [ebp - 0x11d4], xmm0
nop dword [eax]
movss xmm0, dword [edx]
lea edi, [ecx + 4]
lea eax, [ebp - 0x11d0]
cmp edi, eax
jne 0x10021ee5
movss xmm1, dword [ecx]
comiss xmm0, xmm1
seta al
test al, al
je 0x10021ed3
mov edx, ecx
jmp 0x10021f30
movss xmm0, dword [esi]
comiss xmm0, xmm1
seta al
test al, al
jne 0x10021f30
mov esi, ecx
jmp 0x10021f30
movss xmm1, dword [edi]
movss xmm2, dword [ecx]
comiss xmm2, xmm1
seta al
test al, al
je 0x10021f14
comiss xmm0, xmm1
movss xmm0, dword [esi]
seta al
test al, al
cmovne edx, edi
comiss xmm0, xmm2
seta al
test al, al
jne 0x10021f2e
mov esi, ecx
jmp 0x10021f2e
comiss xmm0, xmm2
movss xmm0, dword [esi]
seta al
test al, al
cmovne edx, ecx
comiss xmm0, xmm1
seta al
test al, al
cmove esi, edi
mov ecx, edi
add ecx, 4
lea eax, [ebp - 0x11d0]
cmp ecx, eax
jne 0x10021eb0
movss xmm0, dword [esi]
mov eax, dword [ebp - 0x11b4]
sub ebx, eax
mov edi, dword [ebp - 0x11c4]
movss dword [ebp - 0x11c8], xmm0
subss xmm0, dword [edx]
movd xmm1, eax
cmp dword [edi + 0x210], 0x240005
cvtdq2ps xmm1, xmm1
mov dword [ebp - 0x11bc], ebx
movss dword [ebp - 0x11d0], xmm0
movd xmm0, ebx
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x11b4], xmm1
mulss xmm0, dword [0x10031d64]
movss xmm1, dword [edi + 0x2df4]
movss dword [ebp - 0x11f4], xmm1
movss dword [ebp - 0x11fc], xmm0
jne 0x10022165
mov eax, dword [0x10232198]
movq xmm0, qword [eax + 0x24]
mov eax, dword [eax + 0x2c]
movq qword [ebp - 0x1250], xmm0
movq xmm0, qword [edi + 0x24]
movq qword [ebp - 0x125c], xmm0
movss xmm0, dword [ebp - 0x1258]
movss xmm2, dword [ebp - 0x125c]
subss xmm2, dword [ebp - 0x1250]
subss xmm0, dword [ebp - 0x124c]
mov dword [ebp - 0x1248], eax
mov eax, dword [edi + 0x2c]
mov dword [ebp - 0x1254], eax
movss xmm1, dword [ebp - 0x1254]
subss xmm1, dword [ebp - 0x1248]
mulss xmm2, xmm2
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm2, xmm0
addss xmm2, xmm1
xorps xmm1, xmm1
cvtps2pd xmm0, xmm2
ucomisd xmm1, xmm0
ja 0x1002203a
sqrtsd xmm0, xmm0
jmp 0x1002203f
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
cmp dword [0x10232190], 0
cvtsd2ss xmm0, xmm0
movss dword [ebp - 0x11b8], xmm0
jne 0x1002208b
push 1
call fcn.1002acbe
movaps xmm0, xmmword [0x10032390]
add esp, 4
mov dword [ebp - 0x11f8], eax
movups xmmword [0x102320f8], xmm0
mov dword [0x10232130], 0
mov dword [0x1023219c], 0
mov dword [0x10232190], eax
push dword [0x10232124]
lea edx, [ebp - 0xe80]
lea ecx, [ebp - 0xff8]
call fcn.1001eb00
add esp, 4
test al, al
je 0x10022165
movss xmm0, dword [ebp - 0x11b8]
movss xmm1, dword [0x10031ec4]
comiss xmm1, xmm0
jbe 0x10022165
mov ecx, dword [0x102321ac]
test ecx, ecx
jne 0x10022108
push 0x4c8
call fcn.1002acbe
add esp, 4
mov dword [ebp - 0x12e4], eax
mov ecx, eax
mov dword [ebp - 4], 3
call fcn.10026d60
movss xmm0, dword [ebp - 0x11b8]
mov ecx, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x102321ac], ecx
cmp byte [ecx + 4], 0
je 0x1002216b
cvtps2pd xmm0, xmm0
sub esp, 8
lea eax, [ebp - 0xaf8]
movsd qword [esp], xmm0
push dword [edi + 0x394]
push str._s___0.1fm_
push eax
call fcn.10026be0
movss xmm0, dword [ebp - 0xe70]
lea eax, [ebp - 0xaf8]
addss xmm0, dword [0x10031e1c]
add esp, 0x14
push eax
cvttss2si eax, xmm0
push 0xff00ff00
push eax
cvttss2si eax, dword [ebp - 0xe74]
push eax
call fcn.1001f870
add esp, 0x10
mov ecx, dword [0x102321ac]
test ecx, ecx
jne 0x1002219f
push 0x4c8
call fcn.1002acbe
add esp, 4
mov dword [ebp - 0x12e0], eax
mov ecx, eax
mov dword [ebp - 4], 4
call fcn.10026d60
mov ecx, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x102321ac], ecx
cmp byte [ecx + 0x8d], 0
je 0x1002246c
movss xmm0, dword [ecx + 0x90]
mulss xmm0, dword [0x10031eb0]
movss xmm4, dword [ebp - 0xe70]
cvttss2si esi, xmm0
movss xmm0, dword [ecx + 0x94]
mulss xmm0, dword [0x10031eb0]
or esi, 0xff00
shl esi, 8
cvttss2si eax, xmm0
movss xmm0, dword [ecx + 0x98]
cvtps2pd xmm0, xmm0
movzx eax, al
or esi, eax
shl esi, 8
mulsd xmm0, qword [0x10031df0]
cvttsd2si eax, xmm0
movaps xmm0, xmm4
subss xmm0, dword [ebp - 0xe7c]
movzx eax, al
or esi, eax
cmp dword [0x10232190], 0
maxss xmm0, dword [0x10031da0]
movaps xmm2, xmm0
movss dword [ebp - 0x11ac], xmm0
divss xmm2, dword [0x10031de0]
movss dword [ebp - 0x11f8], xmm2
jne 0x1002228f
push 1
call fcn.1002acbe
movaps xmm0, xmmword [0x10032390]
add esp, 4
movss xmm4, dword [ebp - 0xe70]
movss xmm2, dword [ebp - 0x11f8]
movups xmmword [0x102320f8], xmm0
mov dword [ebp - 0x11b8], eax
movss xmm0, dword [ebp - 0x11ac]
mov dword [0x10232130], 0
mov dword [0x1023219c], 0
mov dword [0x10232190], eax
movss xmm1, dword [ebp - 0xe74]
subss xmm4, xmm0
movaps xmm0, xmm2
movaps xmm3, xmm2
mulss xmm0, dword [0x10031d78]
mov edx, esi
push ecx
mov ecx, dword [0x10232124]
movaps xmm2, xmm4
movss dword [esp], xmm4
subss xmm1, xmm0
movss dword [ebp - 0x11b8], xmm0
addss xmm3, xmm1
call fcn.1001ec90
add esp, 4
cmp dword [0x10232190], 0
jne 0x10022312
push 1
call fcn.1002acbe
movaps xmm0, xmmword [0x10032390]
add esp, 4
mov dword [ebp - 0x11b0], eax
movups xmmword [0x102320f8], xmm0
mov dword [0x10232130], 0
mov dword [0x1023219c], 0
mov dword [0x10232190], eax
movss xmm1, dword [ebp - 0xe74]
mov edx, esi
movss xmm0, dword [ebp - 0x11ac]
movss xmm2, dword [ebp - 0xe70]
subss xmm1, dword [ebp - 0x11b8]
subss xmm2, xmm0
push ecx
mov ecx, dword [0x10232124]
addss xmm1, dword [ebp - 0x11f8]
addss xmm0, xmm2
movaps xmm3, xmm1
movss dword [esp], xmm0
call fcn.1001ec90
add esp, 4
cmp dword [0x10232190], 0
jne 0x1002239b
push 1
call fcn.1002acbe
movaps xmm0, xmmword [0x10032390]
add esp, 4
mov dword [ebp - 0x11b0], eax
movups xmmword [0x102320f8], xmm0
mov dword [0x10232130], 0
mov dword [0x1023219c], 0
mov dword [0x10232190], eax
movss xmm2, dword [ebp - 0xe70]
mov edx, esi
movss xmm3, dword [ebp - 0xe74]
subss xmm2, dword [ebp - 0x11ac]
subss xmm3, dword [ebp - 0x11b8]
movss xmm1, dword [ebp - 0x11f8]
push ecx
mov ecx, dword [0x10232124]
addss xmm2, dword [ebp - 0x11ac]
addss xmm1, xmm3
movss dword [esp], xmm2
call fcn.1001ec90
add esp, 4
cmp dword [0x10232190], 0
jne 0x10022425
push 1
call fcn.1002acbe
movaps xmm0, xmmword [0x10032390]
add esp, 4
mov dword [ebp - 0x11b0], eax
movups xmmword [0x102320f8], xmm0
mov dword [0x10232130], 0
mov dword [0x1023219c], 0
mov dword [0x10232190], eax
movss xmm2, dword [ebp - 0x11ac]
mov edx, esi
movss xmm0, dword [ebp - 0xe70]
movss xmm1, dword [ebp - 0xe74]
subss xmm0, xmm2
subss xmm1, dword [ebp - 0x11b8]
push ecx
mov ecx, dword [0x10232124]
addss xmm2, xmm0
movss dword [esp], xmm0
movaps xmm3, xmm1
call fcn.1001ec90
mov ecx, dword [0x102321ac]
add esp, 4
test ecx, ecx
jne 0x100224a0
push 0x4c8
call fcn.1002acbe
add esp, 4
mov dword [ebp - 0x12dc], eax
mov ecx, eax
mov dword [ebp - 4], 8
call fcn.10026d60
mov ecx, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x102321ac], ecx
cmp byte [ecx + 0x41], 0
mov esi, dword [sym.imp.USER32.dll_GetAsyncKeyState]
je 0x100224e6
push 0x47
call esi
cwde
test eax, 0x30d40
je 0x100224e0
mov ecx, dword [0x10232198]
lea edx, [ebp - 0x12c4]
mov eax, dword [edi + 0x2c]
movq xmm0, qword [edi + 0x24]
mov dword [ebp - 0x12bc], eax
mov eax, dword [ecx]
push edx
movq qword [ebp - 0x12c4], xmm0
call dword [eax + 0x34]
mov ecx, dword [0x102321ac]
test ecx, ecx
jne 0x1002251a
push 0x4c8
call fcn.1002acbe
add esp, 4
mov dword [ebp - 0x12d8], eax
mov ecx, eax
mov dword [ebp - 4], 9
call fcn.10026d60
mov ecx, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x102321ac], ecx
cmp byte [ecx + 0x3f], 0
je 0x10022558
push 0x46
call esi
test ax, ax
je 0x10022552
mov eax, dword [0x10232198]
lea ecx, [ebp - 0x12d0]
push ecx
mov ecx, edi
movq xmm0, qword [eax + 0x24]
mov eax, dword [eax + 0x2c]
mov dword [ebp - 0x12c8], eax
mov eax, dword [edi]
movq qword [ebp - 0x12d0], xmm0
call dword [eax + 0x34]
mov ecx, dword [0x102321ac]
test ecx, ecx
jne 0x1002258c
push 0x4c8
call fcn.1002acbe
add esp, 4
mov dword [ebp - 0x12a8], eax
mov ecx, eax
mov dword [ebp - 4], 0xa
call fcn.10026d60
mov ecx, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x102321ac], ecx
cmp byte [ecx + 0x3d], 0
je 0x1002264d
push dword [0x102321a0]
movss xmm0, dword [ebp - 0x11c0]
lea eax, [ebp - 0x230]
cvtps2pd xmm0, xmm0
sub esp, 8
movsd qword [esp], xmm0
push 0x100310c4
push eax
call fcn.10001520
cvttss2si esi, dword [ebp - 0xe74]
add esp, 0x14
lea eax, [ebp - 0x230]
push eax
push 0xff000000
cvttss2si edi, dword [ebp - 0xe70]
lea eax, [esi - 1]
push edi
push eax
call fcn.1001f7e0
lea eax, [ebp - 0x230]
push eax
push 0xff000000
lea eax, [esi + 1]
push edi
push eax
call fcn.1001f7e0
lea eax, [ebp - 0x230]
push eax
push 0xff000000
lea eax, [edi - 1]
push eax
push esi
call fcn.1001f7e0
lea eax, [ebp - 0x230]
push eax
push 0xff000000
lea eax, [edi + 1]
push eax
push esi
call fcn.1001f7e0
add esp, 0x40
lea eax, [ebp - 0x230]
push eax
push 0xffffffffffffffff
push edi
push esi
call fcn.1001f7e0
mov ecx, dword [0x102321ac]
add esp, 0x10
mov edi, dword [ebp - 0x11c4]
test ecx, ecx
jne 0x10022681
push 0x4c8
call fcn.1002acbe
add esp, 4
mov dword [ebp - 0x12d4], eax
mov ecx, eax
mov dword [ebp - 4], 0xb
call fcn.10026d60
mov ecx, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x102321ac], ecx
cmp byte [ecx + 0x3c], 0
je 0x10023480
movss xmm0, dword [edi + 0x2df4]
movss xmm1, dword [0x10031ea0]
ucomiss xmm0, xmm1
movss dword [ebp - 0x11ac], xmm0
lahf
test ah, 0x44
jp 0x100227de
cmp dword [0x10232190], 0
jne 0x100226f0
push 1
call fcn.1002acbe
movaps xmm0, xmmword [0x10032390]
add esp, 4
mov dword [ebp - 0x11b0], eax
movups xmmword [0x102320f8], xmm0
mov dword [0x10232130], 0
mov dword [0x1023219c], 0
mov dword [0x10232190], eax
movss xmm0, dword [ebp - 0xe74]
addss xmm0, dword [0x10031e10]
mov ebx, dword [0x10232124]
push 0
push ecx
mov dword [esp], 0
lea ecx, [ebp - 0xf20]
cvttss2si edi, xmm0
push 0xff000000
push 1
push ecx
push 1
push ebx
movss xmm0, dword [ebp - 0xe70]
addss xmm0, dword [0x10031e1c]
sub edi, 0x16
mov dword [ebp - 0xf20], edi
cvttss2si esi, xmm0
lea eax, [edi + 0x2d]
mov dword [ebp - 0xf18], eax
sub esi, 2
mov dword [ebp - 0xf1c], esi
lea eax, [esi + 6]
mov dword [ebp - 0xf14], eax
mov eax, dword [ebx]
call dword [eax + 0xac]
movss xmm0, dword [ebp - 0x11ac]
mulss xmm0, dword [0x10031e64]
divss xmm0, dword [0x10031ea0]
call fcn.1002ba10
push 0
lea ecx, [edi + 1]
push ecx
mov dword [esp], 0
lea edx, [esi + 1]
add eax, ecx
mov dword [ebp - 0xee0], ecx
push 0xff00ff00
mov dword [ebp - 0xed8], eax
lea ecx, [ebp - 0xee0]
push 1
lea eax, [edx + 4]
mov dword [ebp - 0xedc], edx
push ecx
mov dword [ebp - 0xed4], eax
mov eax, dword [ebx]
push 1
push ebx
call dword [eax + 0xac]
mov ecx, dword [0x102321ac]
movss xmm0, dword [ebp - 0x11ac]
movss xmm1, dword [0x10031ea0]
comiss xmm0, dword [0x10031e9c]
jb 0x1002291a
comiss xmm1, xmm0
jb 0x1002291a
cmp dword [0x10232190], 0
jne 0x10022834
push 1
call fcn.1002acbe
movaps xmm0, xmmword [0x10032390]
add esp, 4
mov dword [ebp - 0x11b0], eax
movups xmmword [0x102320f8], xmm0
mov dword [0x10232130], 0
mov dword [0x1023219c], 0
mov dword [0x10232190], eax
movss xmm0, dword [ebp - 0xe74]
addss xmm0, dword [0x10031e10]
mov ebx, dword [0x10232124]
push 0
push ecx
mov dword [esp], 0
lea ecx, [ebp - 0xef0]
cvttss2si edi, xmm0
push 0xff000000
push 1
push ecx
push 1
push ebx
movss xmm0, dword [ebp - 0xe70]
addss xmm0, dword [0x10031e1c]
sub edi, 0x16
mov dword [ebp - 0xef0], edi
cvttss2si esi, xmm0
lea eax, [edi + 0x2d]
mov dword [ebp - 0xee8], eax
sub esi, 2
mov dword [ebp - 0xeec], esi
lea eax, [esi + 6]
mov dword [ebp - 0xee4], eax
mov eax, dword [ebx]
call dword [eax + 0xac]
movss xmm0, dword [ebp - 0x11ac]
mulss xmm0, dword [0x10031e64]
divss xmm0, dword [0x10031ea0]
call fcn.1002ba10
push 0
lea ecx, [edi + 1]
push ecx
mov dword [esp], 0
lea edx, [esi + 1]
add eax, ecx
mov dword [ebp - 0xf10], ecx
push 0xff00ff00
mov dword [ebp - 0xf08], eax
lea ecx, [ebp - 0xf10]
push 1
lea eax, [edx + 4]
mov dword [ebp - 0xf0c], edx
push ecx
mov dword [ebp - 0xf04], eax
mov eax, dword [ebx]
push 1
push ebx
call dword [eax + 0xac]
mov ecx, dword [0x102321ac]
movss xmm0, dword [ebp - 0x11ac]
comiss xmm0, dword [0x10031e94]
jb 0x10022a5e
movss xmm1, dword [0x10031e98]
comiss xmm1, xmm0
jb 0x10022a5e
cmp dword [0x10232190], 0
jne 0x10022978
push 1
call fcn.1002acbe
movaps xmm0, xmmword [0x10032390]
add esp, 4
mov dword [ebp - 0x11b0], eax
movups xmmword [0x102320f8], xmm0
mov dword [0x10232130], 0
mov dword [0x1023219c], 0
mov dword [0x10232190], eax
movss xmm0, dword [ebp - 0xe74]
addss xmm0, dword [0x10031e10]
mov ebx, dword [0x10232124]
push 0
push ecx
mov dword [esp], 0
lea ecx, [ebp - 0xf30]
cvttss2si edi, xmm0
push 0xff000000
push 1
push ecx
push 1
push ebx
movss xmm0, dword [ebp - 0xe70]
addss xmm0, dword [0x10031e1c]
sub edi, 0x16
mov dword [ebp - 0xf30], edi
cvttss2si esi, xmm0
lea eax, [edi + 0x2d]
mov dword [ebp - 0xf28], eax
sub esi, 2
mov dword [ebp - 0xf2c], esi
lea eax, [esi + 6]
mov dword [ebp - 0xf24], eax
mov eax, dword [ebx]
call dword [eax + 0xac]
movss xmm0, dword [ebp - 0x11ac]
mulss xmm0, dword [0x10031e64]
divss xmm0, dword [0x10031ea0]
call fcn.1002ba10
push 0
lea ecx, [edi + 1]
push ecx
mov dword [esp], 0
lea edx, [esi + 1]
add eax, ecx
mov dword [ebp - 0xfb0], ecx
push 0xff00ff00
mov dword [ebp - 0xfa8], eax
lea ecx, [ebp - 0xfb0]
push 1
lea eax, [edx + 4]
mov dword [ebp - 0xfac], edx
push ecx
mov dword [ebp - 0xfa4], eax
mov eax, dword [ebx]
push 1
push ebx
call dword [eax + 0xac]
mov ecx, dword [0x102321ac]
movss xmm0, dword [ebp - 0x11ac]
comiss xmm0, dword [0x10031e84]
jb 0x10022ba2
movss xmm1, dword [0x10031e90]
comiss xmm1, xmm0
jb 0x10022ba2
cmp dword [0x10232190], 0
jne 0x10022abc
push 1
call fcn.1002acbe
movaps xmm0, xmmword [0x10032390]
add esp, 4
mov dword [ebp - 0x11b0], eax
movups xmmword [0x102320f8], xmm0
mov dword [0x10232130], 0
mov dword [0x1023219c], 0
mov dword [0x10232190], eax
movss xmm0, dword [ebp - 0xe74]
addss xmm0, dword [0x10031e10]
mov ebx, dword [0x10232124]
push 0
push ecx
mov dword [esp], 0
lea ecx, [ebp - 0xed0]
cvttss2si edi, xmm0
push 0xff000000
push 1
push ecx
push 1
push ebx
movss xmm0, dword [ebp - 0xe70]
addss xmm0, dword [0x10031e1c]
sub edi, 0x16
mov dword [ebp - 0xed0], edi
cvttss2si esi, xmm0
lea eax, [edi + 0x2d]
mov dword [ebp - 0xec8], eax
sub esi, 2
mov dword [ebp - 0xecc], esi
lea eax, [esi + 6]
mov dword [ebp - 0xec4], eax
mov eax, dword [ebx]
call dword [eax + 0xac]
movss xmm0, dword [ebp - 0x11ac]
mulss xmm0, dword [0x10031e64]
divss xmm0, dword [0x10031ea0]
call fcn.1002ba10
push 0
lea ecx, [edi + 1]
push ecx
mov dword [esp], 0
lea edx, [esi + 1]
add eax, ecx
mov dword [ebp - 0xec0], ecx
push 0xff00ff00
mov dword [ebp - 0xeb8], eax
lea ecx, [ebp - 0xec0]
push 1
lea eax, [edx + 4]
mov dword [ebp - 0xebc], edx
push ecx
mov dword [ebp - 0xeb4], eax
mov eax, dword [ebx]
push 1
push ebx
call dword [eax + 0xac]
mov ecx, dword [0x102321ac]
movss xmm0, dword [ebp - 0x11ac]
comiss xmm0, dword [0x10031e7c]
jb 0x10022ce6
movss xmm1, dword [0x10031e80]
comiss xmm1, xmm0
jb 0x10022ce6
cmp dword [0x10232190], 0
jne 0x10022c00
push 1
call fcn.1002acbe
movaps xmm0, xmmword [0x10032390]
add esp, 4
mov dword [ebp - 0x11b0], eax
movups xmmword [0x102320f8], xmm0
mov dword [0x10232130], 0
mov dword [0x1023219c], 0
mov dword [0x10232190], eax
movss xmm0, dword [ebp - 0xe74]
addss xmm0, dword [0x10031e10]
mov ebx, dword [0x10232124]
push 0
push ecx
mov dword [esp], 0
lea ecx, [ebp - 0xeb0]
cvttss2si edi, xmm0
push 0xff000000
push 1
push ecx
push 1
push ebx
movss xmm0, dword [ebp - 0xe70]
addss xmm0, dword [0x10031e1c]
sub edi, 0x16
mov dword [ebp - 0xeb0], edi
cvttss2si esi, xmm0
lea eax, [edi + 0x2d]
mov dword [ebp - 0xea8], eax
sub esi, 2
mov dword [ebp - 0xeac], esi
lea eax, [esi + 6]
mov dword [ebp - 0xea4], eax
mov eax, dword [ebx]
call dword [eax + 0xac]
movss xmm0, dword [ebp - 0x11ac]
mulss xmm0, dword [0x10031e64]
divss xmm0, dword [0x10031ea0]
call fcn.1002ba10
push 0
lea ecx, [edi + 1]
push ecx
mov dword [esp], 0
lea edx, [esi + 1]
add eax, ecx
mov dword [ebp - 0xea0], ecx
push 0xffe1ff00
mov dword [ebp - 0xe98], eax
lea ecx, [ebp - 0xea0]
push 1
lea eax, [edx + 4]
mov dword [ebp - 0xe9c], edx
push ecx
mov dword [ebp - 0xe94], eax
mov eax, dword [ebx]
push 1
push ebx
call dword [eax + 0xac]
mov ecx, dword [0x102321ac]
movss xmm0, dword [ebp - 0x11ac]
comiss xmm0, dword [0x10031e70]
jb 0x10022e2a
movss xmm1, dword [0x10031e78]
comiss xmm1, xmm0
jb 0x10022e2a
cmp dword [0x10232190], 0
jne 0x10022d44
push 1
call fcn.1002acbe
movaps xmm0, xmmword [0x10032390]
add esp, 4
mov dword [ebp - 0x11b0], eax
movups xmmword [0x102320f8], xmm0
mov dword [0x10232130], 0
mov dword [0x1023219c], 0
mov dword [0x10232190], eax
movss xmm0, dword [ebp - 0xe74]
addss xmm0, dword [0x10031e10]
mov ebx, dword [0x10232124]
push 0
push ecx
mov dword [esp], 0
lea ecx, [ebp - 0xe90]
cvttss2si edi, xmm0
push 0xff000000
push 1
push ecx
push 1
push ebx
movss xmm0, dword [ebp - 0xe70]
addss xmm0, dword [0x10031e1c]
sub edi, 0x16
mov dword [ebp - 0xe90], edi
cvttss2si esi, xmm0
lea eax, [edi + 0x2d]
mov dword [ebp - 0xe88], eax
sub esi, 2
mov dword [ebp - 0xe8c], esi
lea eax, [esi + 6]
mov dword [ebp - 0xe84], eax
mov eax, dword [ebx]
call dword [eax + 0xac]
movss xmm0, dword [ebp - 0x11ac]
mulss xmm0, dword [0x10031e64]
divss xmm0, dword [0x10031ea0]
call fcn.1002ba10
push 0
lea ecx, [edi + 1]
push ecx
mov dword [esp], 0
lea edx, [esi + 1]
add eax, ecx
mov dword [ebp - 0xfe0], ecx
push 0xffe1ff00
mov dword [ebp - 0xfd8], eax
lea ecx, [ebp - 0xfe0]
push 1
lea eax, [edx + 4]
mov dword [ebp - 0xfdc], edx
push ecx
mov dword [ebp - 0xfd4], eax
mov eax, dword [ebx]
push 1
push ebx
call dword [eax + 0xac]
mov ecx, dword [0x102321ac]
movss xmm0, dword [ebp - 0x11ac]
comiss xmm0, dword [0x10031e60]
jb 0x10022f6e
movss xmm1, dword [0x10031e6c]
comiss xmm1, xmm0
jb 0x10022f6e
cmp dword [0x10232190], 0
jne 0x10022e88
push 1
call fcn.1002acbe
movaps xmm0, xmmword [0x10032390]
add esp, 4
mov dword [ebp - 0x11b0], eax
movups xmmword [0x102320f8], xmm0
mov dword [0x10232130], 0
mov dword [0x1023219c], 0
mov dword [0x10232190], eax
movss xmm0, dword [ebp - 0xe74]
addss xmm0, dword [0x10031e10]
mov ebx, dword [0x10232124]
push 0
push ecx
mov dword [esp], 0
lea ecx, [ebp - 0xfd0]
cvttss2si edi, xmm0
push 0xff000000
push 1
push ecx
push 1
push ebx
movss xmm0, dword [ebp - 0xe70]
addss xmm0, dword [0x10031e1c]
sub edi, 0x16
mov dword [ebp - 0xfd0], edi
cvttss2si esi, xmm0
lea eax, [edi + 0x2d]
mov dword [ebp - 0xfc8], eax
sub esi, 2
mov dword [ebp - 0xfcc], esi
lea eax, [esi + 6]
mov dword [ebp - 0xfc4], eax
mov eax, dword [ebx]
call dword [eax + 0xac]
movss xmm0, dword [ebp - 0x11ac]
mulss xmm0, dword [0x10031e64]
divss xmm0, dword [0x10031ea0]
call fcn.1002ba10
push 0
lea ecx, [edi + 1]
push ecx
mov dword [esp], 0
lea edx, [esi + 1]
add eax, ecx
mov dword [ebp - 0xfc0], ecx
push 0xffe1cc00
mov dword [ebp - 0xfb8], eax
lea ecx, [ebp - 0xfc0]
push 1
lea eax, [edx + 4]
mov dword [ebp - 0xfbc], edx
push ecx
mov dword [ebp - 0xfb4], eax
mov eax, dword [ebx]
push 1
push ebx
call dword [eax + 0xac]
mov ecx, dword [0x102321ac]
movss xmm0, dword [ebp - 0x11ac]
comiss xmm0, dword [0x10031e58]
jb 0x100230b2
movss xmm1, dword [0x10031e5c]
comiss xmm1, xmm0
jb 0x100230b2
cmp dword [0x10232190], 0
jne 0x10022fcc
push 1
call fcn.1002acbe
movaps xmm0, xmmword [0x10032390]
add esp, 4
mov dword [ebp - 0x11b0], eax
movups xmmword [0x102320f8], xmm0
mov dword [0x10232130], 0
mov dword [0x1023219c], 0
mov dword [0x10232190], eax
movss xmm0, dword [ebp - 0xe74]
addss xmm0, dword [0x10031e10]
mov ebx, dword [0x10232124]
push 0
push ecx
mov dword [esp], 0
lea ecx, [ebp - 0xf00]
cvttss2si edi, xmm0
push 0xff000000
push 1
push ecx
push 1
push ebx
movss xmm0, dword [ebp - 0xe70]
addss xmm0, dword [0x10031e1c]
sub edi, 0x16
mov dword [ebp - 0xf00], edi
cvttss2si esi, xmm0
lea eax, [edi + 0x2d]
mov dword [ebp - 0xef8], eax
sub esi, 2
mov dword [ebp - 0xefc], esi
lea eax, [esi + 6]
mov dword [ebp - 0xef4], eax
mov eax, dword [ebx]
call dword [eax + 0xac]
movss xmm0, dword [ebp - 0x11ac]
mulss xmm0, dword [0x10031e64]
divss xmm0, dword [0x10031ea0]
call fcn.1002ba10
push 0
lea ecx, [edi + 1]
push ecx
mov dword [esp], 0
lea edx, [esi + 1]
add eax, ecx
mov dword [ebp - 0xfa0], ecx
push 0xffe1cc00
mov dword [ebp - 0xf98], eax
lea ecx, [ebp - 0xfa0]
push 1
lea eax, [edx + 4]
mov dword [ebp - 0xf9c], edx
push ecx
mov dword [ebp - 0xf94], eax
mov eax, dword [ebx]
push 1
push ebx
call dword [eax + 0xac]
mov ecx, dword [0x102321ac]
movss xmm0, dword [ebp - 0x11ac]
comiss xmm0, dword [0x10031e48]
jb 0x100231f6
movss xmm1, dword [0x10031e54]
comiss xmm1, xmm0
jb 0x100231f6
cmp dword [0x10232190], 0
jne 0x10023110
push 1
call fcn.1002acbe
movaps xmm0, xmmword [0x10032390]
add esp, 4
mov dword [ebp - 0x11b0], eax
movups xmmword [0x102320f8], xmm0
mov dword [0x10232130], 0
mov dword [0x1023219c], 0
mov dword [0x10232190], eax
movss xmm0, dword [ebp - 0xe74]
addss xmm0, dword [0x10031e10]
mov ebx, dword [0x10232124]
push 0
push ecx
mov dword [esp], 0
lea ecx, [ebp - 0xf90]
cvttss2si edi, xmm0
push 0xff000000
push 1
push ecx
push 1
push ebx
movss xmm0, dword [ebp - 0xe70]
addss xmm0, dword [0x10031e1c]
sub edi, 0x16
mov dword [ebp - 0xf90], edi
cvttss2si esi, xmm0
lea eax, [edi + 0x2d]
mov dword [ebp - 0xf88], eax
sub esi, 2
mov dword [ebp - 0xf8c], esi
lea eax, [esi + 6]
mov dword [ebp - 0xf84], eax
mov eax, dword [ebx]
call dword [eax + 0xac]
movss xmm0, dword [ebp - 0x11ac]
mulss xmm0, dword [0x10031e64]
divss xmm0, dword [0x10031ea0]
call fcn.1002ba10
push 0
lea ecx, [edi + 1]
push ecx
mov dword [esp], 0
lea edx, [esi + 1]
add eax, ecx
mov dword [ebp - 0xf80], ecx
push 0xffff0000
mov dword [ebp - 0xf78], eax
lea ecx, [ebp - 0xf80]
push 1
lea eax, [edx + 4]
mov dword [ebp - 0xf7c], edx
push ecx
mov dword [ebp - 0xf74], eax
mov eax, dword [ebx]
push 1
push ebx
call dword [eax + 0xac]
mov ecx, dword [0x102321ac]
movss xmm0, dword [ebp - 0x11ac]
comiss xmm0, dword [0x10031e20]
jb 0x1002333a
movss xmm1, dword [0x10031e44]
comiss xmm1, xmm0
jb 0x1002333a
cmp dword [0x10232190], 0
jne 0x10023254
push 1
call fcn.1002acbe
movaps xmm0, xmmword [0x10032390]
add esp, 4
mov dword [ebp - 0x11b0], eax
movups xmmword [0x102320f8], xmm0
mov dword [0x10232130], 0
mov dword [0x1023219c], 0
mov dword [0x10232190], eax
movss xmm0, dword [ebp - 0xe74]
addss xmm0, dword [0x10031e10]
mov ebx, dword [0x10232124]
push 0
push ecx
mov dword [esp], 0
lea ecx, [ebp - 0xf70]
cvttss2si edi, xmm0
push 0xff000000
push 1
push ecx
push 1
push ebx
movss xmm0, dword [ebp - 0xe70]
addss xmm0, dword [0x10031e1c]
sub edi, 0x16
mov dword [ebp - 0xf70], edi
cvttss2si esi, xmm0
lea eax, [edi + 0x2d]
mov dword [ebp - 0xf68], eax
sub esi, 2
mov dword [ebp - 0xf6c], esi
lea eax, [esi + 6]
mov dword [ebp - 0xf64], eax
mov eax, dword [ebx]
call dword [eax + 0xac]
movss xmm0, dword [ebp - 0x11ac]
mulss xmm0, dword [0x10031e64]
divss xmm0, dword [0x10031ea0]
call fcn.1002ba10
push 0
lea ecx, [edi + 1]
push ecx
mov dword [esp], 0
lea edx, [esi + 1]
add eax, ecx
mov dword [ebp - 0xf60], ecx
push 0xffff0000
mov dword [ebp - 0xf58], eax
lea ecx, [ebp - 0xf60]
push 1
lea eax, [edx + 4]
mov dword [ebp - 0xf5c], edx
push ecx
mov dword [ebp - 0xf54], eax
mov eax, dword [ebx]
push 1
push ebx
call dword [eax + 0xac]
mov ecx, dword [0x102321ac]
movss xmm0, dword [ebp - 0x11ac]
comiss xmm0, dword [0x10031da0]
jb 0x1002347a
movss xmm1, dword [0x10031e1c]
comiss xmm1, xmm0
jb 0x1002347a
cmp dword [0x10232190], 0
jne 0x100233a0
push 1
call fcn.1002acbe
movaps xmm0, xmmword [0x10032390]
add esp, 4
movss xmm1, dword [0x10031e1c]
mov dword [ebp - 0x11b0], eax
movups xmmword [0x102320f8], xmm0
mov dword [0x10232130], 0
mov dword [0x1023219c], 0
mov dword [0x10232190], eax
movss xmm0, dword [ebp - 0xe74]
addss xmm0, dword [0x10031e10]
mov ebx, dword [0x10232124]
push 0
push ecx
mov dword [esp], 0
lea ecx, [ebp - 0xf50]
cvttss2si edi, xmm0
push 0xff000000
push 1
push ecx
push 1
push ebx
movss xmm0, dword [ebp - 0xe70]
addss xmm0, xmm1
sub edi, 0x16
mov dword [ebp - 0xf50], edi
lea eax, [edi + 0x2d]
cvttss2si esi, xmm0
mov dword [ebp - 0xf48], eax
sub esi, 2
mov dword [ebp - 0xf4c], esi
lea eax, [esi + 6]
mov dword [ebp - 0xf44], eax
mov eax, dword [ebx]
call dword [eax + 0xac]
movss xmm0, dword [ebp - 0x11ac]
mulss xmm0, dword [0x10031e64]
divss xmm0, dword [0x10031ea0]
call fcn.1002ba10
push 0
lea ecx, [edi + 1]
push ecx
mov dword [esp], 0
lea edx, [esi + 1]
add eax, ecx
mov dword [ebp - 0xf40], ecx
push 0xffff0000
mov dword [ebp - 0xf38], eax
lea ecx, [ebp - 0xf40]
push 1
lea eax, [edx + 4]
mov dword [ebp - 0xf3c], edx
push ecx
mov dword [ebp - 0xf34], eax
mov eax, dword [ebx]
push 1
push ebx
call dword [eax + 0xac]
mov ecx, dword [0x102321ac]
mov ebx, dword [ebp - 0x11bc]
test ecx, ecx
jne 0x100234b4
push 0x4c8
call fcn.1002acbe
add esp, 4
mov dword [ebp - 0x12a4], eax
mov ecx, eax
mov dword [ebp - 4], 0xc
call fcn.10026d60
mov ecx, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x102321ac], ecx
cmp byte [ecx + 0x42], 0
je 0x100235e2
movss xmm1, dword [ebp - 0x11f4]
comiss xmm1, dword [0x10031da0]
jb 0x100235e2
movss xmm0, dword [0x10031ea0]
minss xmm0, xmm1
movaps xmm1, xmm0
comiss xmm1, dword [0x10031e8c]
movss dword [ebp - 0x11f4], xmm1
jbe 0x100234fa
mov edi, 0xff00ff00
jmp 0x1002350e
comiss xmm1, dword [0x10031e5c]
mov edi, 0xffff0000
mov eax, 0xffff9b00
cmova edi, eax
cmp dword [0x10232190], 0
jne 0x1002354e
push 1
call fcn.1002acbe
movaps xmm0, xmmword [0x10032390]
add esp, 4
mov dword [ebp - 0x11b0], eax
movups xmmword [0x102320f8], xmm0
mov dword [0x10232130], 0
mov dword [0x1023219c], 0
mov dword [0x10232190], eax
movss xmm0, dword [ebp - 0x11fc]
mov ecx, 0xff000000
movss xmm4, dword [ebp - 0x11b4]
mov esi, dword [0x10232124]
subss xmm4, xmm0
mulss xmm0, dword [0x10031d78]
mov edx, esi
movss xmm3, dword [ebp - 0x11d0]
movss xmm2, dword [0x10031dc0]
movss xmm1, dword [ebp - 0x11c8]
subss xmm4, xmm0
movaps xmm0, xmm4
movss dword [ebp - 0x11bc], xmm4
call fcn.1001f460
movss xmm3, dword [ebp - 0x11f4]
mov edx, esi
mulss xmm3, dword [ebp - 0x11d0]
mov ecx, edi
movss xmm2, dword [0x10031da0]
movss xmm1, dword [ebp - 0x11c8]
divss xmm3, dword [0x10031ea0]
movss xmm0, dword [ebp - 0x11bc]
call fcn.1001f460
mov ecx, dword [0x102321ac]
test ecx, ecx
jne 0x10023616
push 0x4c8
call fcn.1002acbe
add esp, 4
mov dword [ebp - 0x12a0], eax
mov ecx, eax
mov dword [ebp - 4], 0xd
call fcn.10026d60
mov ecx, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x102321ac], ecx
cmp byte [ecx + 0x3b], 0
je 0x1002388f
cmp dword [0x10232190], 0
movss xmm4, dword [ebp - 0xe70]
movaps xmm0, xmm4
subss xmm0, dword [ebp - 0xe7c]
maxss xmm0, dword [0x10031da0]
movaps xmm2, xmm0
movss dword [ebp - 0x11ac], xmm0
divss xmm2, dword [0x10031de0]
movss dword [ebp - 0x11bc], xmm2
jne 0x100236ae
push 1
call fcn.1002acbe
movaps xmm0, xmmword [0x10032390]
add esp, 4
movss xmm4, dword [ebp - 0xe70]
movss xmm2, dword [ebp - 0x11bc]
movups xmmword [0x102320f8], xmm0
mov dword [ebp - 0x11b0], eax
movss xmm0, dword [ebp - 0x11ac]
mov dword [0x10232130], 0
mov dword [0x1023219c], 0
mov dword [0x10232190], eax
movss xmm1, dword [ebp - 0xe74]
subss xmm4, xmm0
movaps xmm0, xmm2
movaps xmm3, xmm2
mulss xmm0, dword [0x10031d78]
or edx, 0xffffffff
push ecx
mov ecx, dword [0x10232124]
movaps xmm2, xmm4
movss dword [esp], xmm4
subss xmm1, xmm0
movss dword [ebp - 0x11b8], xmm0
addss xmm3, xmm1
call fcn.1001ec90
add esp, 4
cmp dword [0x10232190], 0
jne 0x10023732
push 1
call fcn.1002acbe
movaps xmm0, xmmword [0x10032390]
add esp, 4
mov dword [ebp - 0x11b0], eax
movups xmmword [0x102320f8], xmm0
mov dword [0x10232130], 0
mov dword [0x1023219c], 0
mov dword [0x10232190], eax
movss xmm1, dword [ebp - 0xe74]
or edx, 0xffffffff
movss xmm0, dword [ebp - 0x11ac]
movss xmm2, dword [ebp - 0xe70]
subss xmm1, dword [ebp - 0x11b8]
subss xmm2, xmm0
push ecx
mov ecx, dword [0x10232124]
addss xmm1, dword [ebp - 0x11bc]
addss xmm0, xmm2
movaps xmm3, xmm1
movss dword [esp], xmm0
call fcn.1001ec90
add esp, 4
cmp dword [0x10232190], 0
jne 0x100237bc
push 1
call fcn.1002acbe
movaps xmm0, xmmword [0x10032390]
add esp, 4
mov dword [ebp - 0x11b0], eax
movups xmmword [0x102320f8], xmm0
mov dword [0x10232130], 0
mov dword [0x1023219c], 0
mov dword [0x10232190], eax
movss xmm2, dword [ebp - 0xe70]
or edx, 0xffffffff
movss xmm3, dword [ebp - 0xe74]
subss xmm2, dword [ebp - 0x11ac]
subss xmm3, dword [ebp - 0x11b8]
movss xmm1, dword [ebp - 0x11bc]
push ecx
mov ecx, dword [0x10232124]
addss xmm2, dword [ebp - 0x11ac]
addss xmm1, xmm3
movss dword [esp], xmm2
call fcn.1001ec90
add esp, 4
cmp dword [0x10232190], 0
jne 0x10023847
push 1
call fcn.1002acbe
movaps xmm0, xmmword [0x10032390]
add esp, 4
mov dword [ebp - 0x11b0], eax
movups xmmword [0x102320f8], xmm0
mov dword [0x10232130], 0
mov dword [0x1023219c], 0
mov dword [0x10232190], eax
movss xmm2, dword [ebp - 0x11ac]
or edx, 0xffffffff
movss xmm0, dword [ebp - 0xe70]
movss xmm1, dword [ebp - 0xe74]
subss xmm0, xmm2
subss xmm1, dword [ebp - 0x11b8]
push ecx
mov ecx, dword [0x10232124]
addss xmm2, xmm0
movss dword [esp], xmm0
movaps xmm3, xmm1
call fcn.1001ec90
mov ecx, dword [0x102321ac]
add esp, 4
test ecx, ecx
jne 0x100238c3
push 0x4c8
call fcn.1002acbe
add esp, 4
mov dword [ebp - 0x129c], eax
mov ecx, eax
mov dword [ebp - 4], 0xe
call fcn.10026d60
mov ecx, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x102321ac], ecx
cmp byte [ecx + 0x6d], 0
je 0x100239be
cmp dword [0x10232190], 0
jne 0x1002390d
push 1
call fcn.1002acbe
movaps xmm0, xmmword [0x10032390]
add esp, 4
mov dword [ebp - 0x11b0], eax
movups xmmword [0x102320f8], xmm0
mov dword [0x10232130], 0
mov dword [0x1023219c], 0
mov dword [0x10232190], eax
movss xmm2, dword [ebp - 0x11fc]
xor ecx, ecx
movss xmm4, dword [ebp - 0x11b4]
movaps xmm0, xmm2
mulss xmm0, dword [0x10031d78]
subss xmm4, xmm2
mov edi, dword [0x10232124]
mov edx, edi
cvttss2si esi, dword [ebp - 0x11d0]
subss xmm4, xmm0
movaps xmm1, xmm2
movd xmm0, ebx
addss xmm1, xmm2
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x11b8], xmm4
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm1, xmm0
movd xmm0, esi
cvtdq2ps xmm3, xmm0
movss dword [ebp - 0x11bc], xmm1
movaps xmm2, xmm1
movss xmm1, dword [ebp - 0x11c8]
movaps xmm0, xmm4
call fcn.1001f460
movss xmm3, dword [ebp - 0x11bc]
movss xmm2, dword [ebp - 0x11c8]
movss xmm1, dword [ebp - 0x11b8]
movd xmm0, esi
cvtdq2ps xmm0, xmm0
push ecx
mov ecx, edi
movss dword [esp], xmm0
call fcn.1001f1a0
mov ecx, dword [0x102321ac]
add esp, 4
test ecx, ecx
jne 0x100239f2
push 0x4c8
call fcn.1002acbe
add esp, 4
mov dword [ebp - 0x1298], eax
mov ecx, eax
mov dword [ebp - 4], 0xf
call fcn.10026d60
mov ecx, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x102321ac], ecx
cmp byte [ecx + 0x61], 0
mov ebx, dword [ebp - 0x11c4]
je 0x10023a4b
cmp dword [ebx + 0x424], 0
je 0x10023a4b
movss xmm0, dword [ebp - 0xe70]
lea eax, [ebx + 0x42c]
push eax
xorps xmm1, xmm1
addss xmm0, xmm1
push 0xffffffffffffffff
push dword [0x102321a0]
push 0x100310d8
cvttss2si eax, xmm0
push 0xffff0000
push eax
cvttss2si eax, dword [ebp - 0xe74]
push eax
call fcn.1001f7e0
mov ecx, dword [0x102321ac]
add esp, 0x1c
test ecx, ecx
jne 0x10023a7f
push 0x4c8
call fcn.1002acbe
add esp, 4
mov dword [ebp - 0x1294], eax
mov ecx, eax
mov dword [ebp - 4], 0x10
call fcn.10026d60
mov ecx, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x102321ac], ecx
cmp byte [ecx + 0xac], 0
je 0x10023bbf
cmp dword [0x10232190], 0
jne 0x10023ac8
push 1
call fcn.1002acbe
movaps xmm0, xmmword [0x10032390]
add esp, 4
xor esi, esi
mov dword [ebp - 0x11b0], eax
movups xmmword [0x102320f8], xmm0
mov dword [0x10232130], esi
mov dword [0x1023219c], esi
mov dword [0x10232190], eax
jmp 0x10023ace
mov esi, dword [0x10232130]
lea eax, [ebp - 0x1060]
push eax
push esi
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [ebp - 0x1058]
sub eax, dword [ebp - 0x1060]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10031d78]
call fcn.1002ba10
mov edi, eax
lea eax, [ebp - 0x1050]
push eax
push esi
call dword [sym.imp.USER32.dll_GetWindowRect]
mov ecx, dword [ebp - 0x1044]
sub ecx, dword [ebp - 0x104c]
sub ecx, 0xc
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10031d78]
call fcn.1002ba10
cmp dword [0x10232190], 0
mov esi, eax
jne 0x10023b71
push 1
call fcn.1002acbe
movaps xmm0, xmmword [0x10032390]
add esp, 4
mov dword [ebp - 0x11b0], eax
movups xmmword [0x102320f8], xmm0
mov dword [0x10232130], 0
mov dword [0x1023219c], 0
mov dword [0x10232190], eax
mov eax, dword [0x102321ac]
test eax, eax
jne 0x10023ba7
push 0x4c8
call fcn.1002acbe
add esp, 4
mov dword [ebp - 0x1290], eax
mov ecx, eax
mov dword [ebp - 4], 0x11
call fcn.10026d60
mov dword [ebp - 4], 0xffffffff
mov dword [0x102321ac], eax
movd xmm0, dword [eax + 0x20]
cvtdq2ps xmm0, xmm0
push esi
push edi
call fcn.1001f970
mov ecx, dword [0x102321ac]
add esp, 8
test ecx, ecx
jne 0x10023bf3
push 0x4c8
call fcn.1002acbe
add esp, 4
mov dword [ebp - 0x128c], eax
mov ecx, eax
mov dword [ebp - 4], 0x12
call fcn.10026d60
mov ecx, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x102321ac], ecx
cmp byte [ecx + 0x12], 0
je 0x100242ac
movss xmm0, dword [0x10031eb4]
comiss xmm0, dword [ebp - 0x11c0]
jbe 0x100242ac
cmp dword [ebx + 0x424], 0
je 0x10023e7e
mov ecx, dword [ebp - 0x11c4]
or ebx, 0xffffffff
mov eax, dword [ecx + 0x428]
dec eax
cmp eax, 7
ja case.default.0x10023c34
jmp dword [eax*4 + 0x10024714]
mov ebx, 0xffaa0000
jmp case.default.0x10023c34
mov ebx, 0xffa6780c
jmp case.default.0x10023c34
mov ebx, 0xff10a49e
jmp case.default.0x10023c34
mov ebx, 0xff20a414
jmp case.default.0x10023c34
mov ebx, 0xff104ea4
jmp case.default.0x10023c34
mov ebx, 0xff9610a4
jmp case.default.0x10023c34
mov ebx, 0xff444444
jmp case.default.0x10023c34
mov ebx, 0xffa4a4a4
lea eax, [ecx + 0x42c]
push eax
lea eax, [ebp - 0x150]
push str.__s_
push eax
call fcn.10026c00
lea ecx, [ebp - 0x150]
add esp, 0xc
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10023c95
mov edi, dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
sub ecx, edx
lea eax, [ecx + 1]
push eax
lea eax, [ebp - 0xe68]
push eax
push 0xffffffffffffffff
lea eax, [ebp - 0x150]
push eax
push 0
push 0xfde9
call edi
test eax, eax
jle 0x100240ed
lea ecx, [ebp - 0x150]
mov dword [ebp - 0x1244], 0
mov dword [ebp - 0x1234], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x1230], 0xf
mov byte [ebp - 0x1244], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10023cf7
sub ecx, edx
lea eax, [ebp - 0x150]
push ecx
push eax
lea ecx, [ebp - 0x1244]
call fcn.10026760
push 0x50
lea eax, [ebp - 0x1158]
mov dword [ebp - 4], 0x13
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x1158]
call fcn.10025da0
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x1244]
cmp dword [ebp - 0x1230], 0x10
mov eax, dword [ebp - 0x1234]
cmovae ecx, dword [ebp - 0x1244]
add eax, ecx
push eax
push ecx
lea eax, [ebp - 0x11e8]
push eax
lea ecx, [ebp - 0x1158]
call fcn.100260d0
lea ecx, [ebp - 0x1158]
call fcn.10025ce0
mov byte [ebp - 4], 0x15
lea edx, [ebp - 0x11e8]
cmp dword [ebp - 0x11d4], 8
cmovae edx, dword [ebp - 0x11e8]
sub esp, 0x18
mov esi, esp
mov ecx, edx
mov dword [esi], 0
lea edi, [ecx + 2]
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 7
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10023db0
sub ecx, edi
sar ecx, 1
push ecx
push edx
mov ecx, esi
call fcn.100264f0
movss xmm0, dword [ebp - 0x11c0]
subss xmm0, dword [0x10031e30]
cvttss2si edx, dword [ebp - 0x11c0]
push dword [0x102320d8]
cvttss2si ecx, xmm0
push ebx
call fcn.1001f600
mov byte [ebp - 4], 0x13
add esp, 0x20
mov edx, dword [ebp - 0x11d4]
cmp edx, 8
jb 0x10023e37
mov ecx, dword [ebp - 0x11e8]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x10023e2d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002470c
push edx
push ecx
call fcn.1002ac0d
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x1230]
cmp edx, 0x10
jb 0x10023e78
mov ecx, dword [ebp - 0x1244]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10023e6e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002470c
push edx
push ecx
call fcn.1002ac0d
add esp, 8
mov ebx, dword [ebp - 0x11c4]
mov edi, dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov esi, dword [ebx + 0x420]
lea eax, [esi + 1]
push eax
lea eax, [ebx + 0x3e0]
push eax
lea eax, [ebp - 0x310]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
xor ecx, ecx
test esi, esi
jle 0x10023ec0
nop word [eax + eax]
mov al, cl
sub al, 0x57
xor byte [ebp + ecx - 0x310], al
inc ecx
cmp ecx, esi
jl 0x10023eb0
lea eax, [ebp - 0x310]
push eax
lea eax, [ebp - 0x150]
push 0x100310f0
push eax
call fcn.10026c00
lea ecx, [ebp - 0x150]
add esp, 0xc
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10023ee4
sub ecx, edx
lea eax, [ecx + 1]
push eax
lea eax, [ebp - 0xcb0]
push eax
push 0xffffffffffffffff
lea eax, [ebp - 0x150]
push eax
push 0
push 0xfde9
call edi
test eax, eax
jle 0x100242a6
lea ecx, [ebp - 0x150]
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10023f20
sub ecx, edx
lea eax, [ebp - 0x150]
cmp dword [ebx + 0x428], 0
push ecx
push eax
jne 0x100240f8
mov dword [ebp - 0x122c], 0
lea ecx, [ebp - 0x122c]
mov dword [ebp - 0x121c], 0
mov dword [ebp - 0x1218], 0xf
mov byte [ebp - 0x122c], 0
call fcn.10026760
push 0x50
lea eax, [ebp - 0x1108]
mov dword [ebp - 4], 0x16
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x1108]
call fcn.10025da0
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x122c]
cmp dword [ebp - 0x1218], 0x10
mov eax, dword [ebp - 0x121c]
cmovae ecx, dword [ebp - 0x122c]
add eax, ecx
push eax
push ecx
lea eax, [ebp - 0x11e8]
push eax
lea ecx, [ebp - 0x1108]
call fcn.100260d0
lea ecx, [ebp - 0x1108]
call fcn.10025ce0
mov byte [ebp - 4], 0x18
lea edx, [ebp - 0x11e8]
cmp dword [ebp - 0x11d4], 8
cmovae edx, dword [ebp - 0x11e8]
sub esp, 0x18
mov esi, esp
mov ecx, edx
mov dword [esi], 0
lea edi, [ecx + 2]
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 7
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10024010
sub ecx, edi
sar ecx, 1
push ecx
push edx
mov ecx, esi
call fcn.100264f0
cvttss2si edx, dword [ebp - 0x11c0]
cvttss2si ecx, dword [ebp - 0x11c0]
push dword [0x102320d8]
push 0xffffffffffffffff
call fcn.1001f600
mov byte [ebp - 4], 0x16
add esp, 0x20
mov edx, dword [ebp - 0x11d4]
cmp edx, 8
jb 0x1002408c
mov ecx, dword [ebp - 0x11e8]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x10024082
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002470c
push edx
push ecx
call fcn.1002ac0d
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x1218]
cmp edx, 0x10
jb 0x100240cd
mov ecx, dword [ebp - 0x122c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100240c3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002470c
push edx
push ecx
call fcn.1002ac0d
add esp, 8
mov dword [ebp - 0x121c], 0
mov dword [ebp - 0x1218], 0xf
mov byte [ebp - 0x122c], 0
jmp 0x100242a6
mov ebx, dword [ebp - 0x11c4]
jmp 0x10023e84
mov dword [ebp - 0x1214], 0
lea ecx, [ebp - 0x1214]
mov dword [ebp - 0x1204], 0
mov dword [ebp - 0x1200], 0xf
mov byte [ebp - 0x1214], 0
call fcn.10026760
push 0x50
lea eax, [ebp - 0x11a8]
mov dword [ebp - 4], 0x19
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x11a8]
call fcn.10025da0
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x1214]
cmp dword [ebp - 0x1200], 0x10
mov eax, dword [ebp - 0x1204]
cmovae ecx, dword [ebp - 0x1214]
add eax, ecx
push eax
push ecx
lea eax, [ebp - 0x11e8]
push eax
lea ecx, [ebp - 0x11a8]
call fcn.100260d0
lea ecx, [ebp - 0x11a8]
call fcn.10025ce0
mov byte [ebp - 4], 0x1b
lea edx, [ebp - 0x11e8]
cmp dword [ebp - 0x11d4], 8
cmovae edx, dword [ebp - 0x11e8]
sub esp, 0x18
mov esi, esp
mov ecx, edx
mov dword [esi], 0
lea edi, [ecx + 2]
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 7
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x100241c2
sub ecx, edi
sar ecx, 1
push ecx
push edx
mov ecx, esi
call fcn.100264f0
movss xmm0, dword [ebp - 0x11c0]
addss xmm0, dword [0x10031e68]
cvttss2si edx, dword [ebp - 0x11c0]
push dword [0x102320d8]
cvttss2si ecx, xmm0
push 0xffffffffffffffff
call fcn.1001f600
mov byte [ebp - 4], 0x19
add esp, 0x20
mov edx, dword [ebp - 0x11d4]
cmp edx, 8
jb 0x1002424a
mov ecx, dword [ebp - 0x11e8]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x10024240
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002470c
push edx
push ecx
call fcn.1002ac0d
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x1200]
cmp edx, 0x10
jb 0x1002428b
mov ecx, dword [ebp - 0x1214]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10024281
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002470c
push edx
push ecx
call fcn.1002ac0d
add esp, 8
mov dword [ebp - 0x1204], 0
mov dword [ebp - 0x1200], 0xf
mov byte [ebp - 0x1214], 0
mov ecx, dword [0x102321ac]
test ecx, ecx
jne 0x100242e0
push 0x4c8
call fcn.1002acbe
add esp, 4
mov dword [ebp - 0x1288], eax
mov ecx, eax
mov dword [ebp - 4], 0x1c
call fcn.10026d60
mov ecx, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x102321ac], ecx
cmp byte [ecx + 0xd], 0
je 0x10024345
mov eax, dword [ebp - 0x11f0]
movss xmm1, dword [0x10031ea0]
mov dword [ebp - 0x11f0], eax
movss xmm0, dword [ebp - 0x11f0]
comiss xmm0, xmm1
jbe 0x1002430a
movaps xmm0, xmm1
push dword [0x102321a0]
cvttss2si eax, dword [ebp - 0xe70]
sub esp, 8
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.HP___.f_
push 0xffffff00
push eax
cvttss2si eax, dword [ebp - 0xe74]
push eax
call fcn.1001f7e0
mov ecx, dword [0x102321ac]
add esp, 0x1c
test ecx, ecx
jne 0x10024379
push 0x4c8
call fcn.1002acbe
add esp, 4
mov dword [ebp - 0x1284], eax
mov ecx, eax
mov dword [ebp - 4], 0x1d
call fcn.10026d60
mov ecx, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x102321ac], ecx
cmp byte [ecx + 0x44], 0
je 0x100244ab
movss xmm1, dword [ebp - 0x11f4]
comiss xmm1, dword [0x10031da0]
jb 0x100244ab
movss xmm0, dword [0x10031ea0]
minss xmm0, xmm1
comiss xmm0, dword [0x10031e8c]
movss dword [ebp - 0x11f0], xmm0
jbe 0x100243bc
mov edi, 0xff00ff00
jmp 0x100243d0
comiss xmm0, dword [0x10031e5c]
mov edi, 0xffff0000
mov eax, 0xffff9b00
cmova edi, eax
cmp dword [0x10232190], 0
jne 0x10024410
push 1
call fcn.1002acbe
movaps xmm0, xmmword [0x10032390]
add esp, 4
mov dword [ebp - 0x11b0], eax
movups xmmword [0x102320f8], xmm0
mov dword [0x10232130], 0
mov dword [0x1023219c], 0
mov dword [0x10232190], eax
movss xmm0, dword [ebp - 0x11fc]
mov ecx, 0xff000000
movss xmm1, dword [ebp - 0x11b4]
subss xmm1, xmm0
mov esi, dword [0x10232124]
cvtps2pd xmm0, xmm0
mov edx, esi
movss xmm3, dword [ebp - 0x11d0]
divsd xmm0, qword [0x10031db8]
movss xmm2, dword [0x10031dec]
cvtps2pd xmm1, xmm1
subsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
movss xmm1, dword [ebp - 0x11c8]
movss dword [ebp - 0x11c0], xmm0
call fcn.1001f460
movss xmm3, dword [ebp - 0x11f0]
mov edx, esi
mulss xmm3, dword [ebp - 0x11d0]
mov ecx, edi
movss xmm2, dword [0x10031dd0]
movss xmm1, dword [ebp - 0x11c8]
divss xmm3, dword [0x10031ea0]
movss xmm0, dword [ebp - 0x11c0]
call fcn.1001f460
mov ecx, dword [0x102321ac]
test ecx, ecx
jne 0x100244df
push 0x4c8
call fcn.1002acbe
add esp, 4
mov dword [ebp - 0x1280], eax
mov ecx, eax
mov dword [ebp - 4], 0x1e
call fcn.10026d60
mov ecx, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x102321ac], ecx
cmp byte [ecx + 0x59], 0
je 0x100245da
mov esi, dword [ebx + 0x420]
lea eax, [esi + 1]
push eax
lea eax, [ebx + 0x3e0]
push eax
lea eax, [ebp - 0x3f0]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
xor ecx, ecx
test esi, esi
jle 0x10024520
nop
mov al, cl
sub al, 0x57
xor byte [ebp + ecx - 0x3f0], al
inc ecx
cmp ecx, esi
jl 0x10024510
lea eax, [ebp - 0x3f0]
push eax
lea eax, [ebp - 0x530]
push 0x100310f0
push eax
call fcn.10026c00
add esp, 0xc
lea eax, [ebp - 0x890]
push eax
lea eax, [ebp - 0x610]
push 0x100310f0
push eax
call fcn.10001520
lea ecx, [ebp - 0x530]
add esp, 0xc
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10024560
sub ecx, edx
lea eax, [ecx + 1]
push eax
lea eax, [ebp - 0x890]
push eax
push 0xffffffffffffffff
lea eax, [ebp - 0x530]
push eax
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
test eax, eax
jle 0x100245d4
movss xmm0, dword [ebp - 0xe70]
lea eax, [ebp - 0x890]
addss xmm0, dword [0x10031e2c]
push 0x101
push eax
push 0xffffffffffffffff
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 0xe74]
subss xmm0, dword [0x10031dfc]
push eax
cvttss2si eax, xmm0
push eax
push dword [0x102321a0]
call fcn.1001f560
add esp, 0x18
mov ecx, dword [0x102321ac]
test ecx, ecx
jne 0x1002460e
push 0x4c8
call fcn.1002acbe
add esp, 4
mov dword [ebp - 0x127c], eax
mov ecx, eax
mov dword [ebp - 4], 0x1f
call fcn.10026d60
mov ecx, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x102321ac], ecx
cmp byte [ecx + 0x3e], 0
je 0x100246d3
cmp dword [0x10232190], 0
jne 0x10024658
push 1
call fcn.1002acbe
movaps xmm0, xmmword [0x10032390]
add esp, 4
mov dword [ebp - 0x11b0], eax
movups xmmword [0x102320f8], xmm0
mov dword [0x10232130], 0
mov dword [0x1023219c], 0
mov dword [0x10232190], eax
movss xmm2, dword [ebp - 0xe7c]
sub esp, 0x10
movss xmm1, dword [ebp - 0xe80]
movaps xmm3, xmm2
subss xmm3, dword [ebp - 0x1000]
addss xmm2, xmm3
call fcn.1001ee80
add esp, 0x10
cmp dword [0x10232190], 0
jne 0x100246c2
push 1
call fcn.1002acbe
movaps xmm0, xmmword [0x10032390]
add esp, 4
mov dword [ebp - 0x11b0], eax
movups xmmword [0x102320f8], xmm0
mov dword [0x10232130], 0
mov dword [0x1023219c], 0
mov dword [0x10232190], eax
push ecx
mov ecx, ebx
call fcn.10020210
add esp, 4
mov ecx, dword [0x102321ac]
mov edx, dword [ebp - 0x11cc]
mov eax, dword [0x102320bc]
inc edx
mov dword [ebp - 0x11cc], edx
mov eax, dword [eax + 0x2c]
cmp eax, edx
ja 0x10021766
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.1002a5eb
mov esp, ebp
pop ebp
ret
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
cmp edi, dword [edx + eax]
adc byte [edx + 60], al
add dl, byte [eax]
dec ecx
cmp al, 2
adc byte [eax + 0x3c], dl
add dl, byte [eax]
push edi
cmp al, 2
adc byte [esi + 0x3c], bl
add dl, byte [eax]
cmp al, 2
adc byte [esp + edi + 2], ch
adc ah, cl
int3