Function at 0x10096d00
Capabilities:
Resolve function by parsing pe exports

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
push 0xffffffffffffffff
push 0x100a7479
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x288
mov eax, dword [0x100bc008]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [ebx + 8]
xor eax, eax
lea edi, [esi + 8]
mov dword [ebp - 0x1f8], eax
mov dword [ebp - 0x258], eax
mov ecx, edi
mov eax, dword [edi]
mov dword [ebp - 0x200], esi
mov dword [ebp - 0x1fc], edi
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [0x10153d50]
mov edx, dword [0x10153f5c]
add edx, 0xffffffd6
mov dword [ebp - 0x204], eax
mov eax, dword [0x10159508]
xor edx, 0xccb3e6ee
movss xmm0, dword [ecx + 0x14]
mulss xmm0, dword [0x100b1040]
mov ecx, dword [esi + edx]
movss dword [ebp - 0x18], xmm0
cmp ecx, dword [edx + eax]
je 0x10096dad
mov byte [ebp - 0x1ed], 1
jmp 0x10096dc3
mov ecx, dword [0x10153dec]
mov eax, dword [ecx]
mov eax, dword [eax + 0x34]
call eax
test eax, eax
setne byte [ebp - 0x1ed]
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x24]
call eax
cmp byte [0x100c2478], 0
mov dl, al
mov dh, byte [ebp - 0x1ed]
je 0x10096e05
test dh, dh
je 0x10096e05
test dl, dl
jne 0x10096e18
mov eax, dword [0x10154004]
add eax, 0xffffffac
xor eax, 0xccb3e718
mov byte [eax + esi], 1
mov eax, dword [ebp - 0x204]
mov byte [eax + 0x101570ef], 1
jmp 0x10096e2b
test dl, dl
jne 0x10096e18
mov eax, dword [ebp - 0x204]
mov byte [eax + 0x101570ef], 1
jmp 0x10096e2b
mov eax, dword [ebp - 0x204]
cmp byte [eax + 0x101570ef], 0
je 0x10099258
mov ecx, dword [ebp - 0x204]
movss xmm0, dword [ecx*4 + 0x1015712c]
lea eax, [ecx*4 + 0x1015712c]
test dl, dl
je 0x10096e4c
subss xmm0, dword [ebp - 0x18]
jmp 0x10096e51
addss xmm0, dword [ebp - 0x18]
movss dword [eax], xmm0
test dh, dh
je 0x10096e66
cmp byte [0x100c0344], 0
je 0x10096e66
mov dh, 1
jmp 0x10096e68
xor dh, dh
movss xmm0, dword [eax]
lea ecx, [ebp - 0x294]
comiss xmm0, dword [0x100b0fc8]
mov dword [ebp - 0x294], 0x3f800000
mov dword [ebp - 0x18], 0
xorps xmm2, xmm2
cmovbe ecx, eax
lea eax, [ebp - 0x18]
movss xmm0, dword [ecx]
comiss xmm0, xmm2
cmova eax, ecx
movss xmm1, dword [eax]
mov eax, dword [ebp - 0x204]
ucomiss xmm1, xmm2
lea ecx, [eax*4 + 0x1015712c]
movss dword [ecx], xmm1
lahf
test ah, 0x44
jp 0x10096ec3
test dh, dh
je 0x10099258
mov ecx, dword [0x10153fe0]
mov eax, dword [0x10153d50]
add ecx, 0xffffffb5
xor ecx, 0xccb3e70f
movss xmm2, dword [eax + 0x10]
subss xmm2, dword [ecx + esi]
test dl, dl
je 0x10096ef2
comiss xmm2, dword [0x100b10a0]
ja 0x10099258
cmp byte [ebp - 0x1ed], 0
movaps xmm0, xmm1
mulss xmm1, dword [0x100b1158]
mulss xmm0, dword [0x100b1170]
cvttss2si eax, xmm1
cvttss2si ecx, xmm0
mov dword [ebp - 0x1f4], eax
mov eax, dword [0x100c02d0]
cmovne eax, dword [0x100c0240]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x214], ecx
test dl, dl
je 0x10096f9c
test dh, dh
je 0x10096f9c
movss xmm0, dword [0x100b1080]
mov ecx, 0x70
comiss xmm2, xmm0
mov dword [ebp - 0x214], ecx
mov dword [ebp - 0x1f4], 0x50
jbe 0x10096f9c
subss xmm2, xmm0
movss xmm0, dword [0x100b1124]
movaps xmm1, xmm2
mulss xmm2, dword [0x100b1078]
mulss xmm1, dword [0x100b1084]
subss xmm0, xmm1
cvttss2si ecx, xmm0
movss xmm0, dword [0x100b1108]
subss xmm0, xmm2
mov dword [ebp - 0x214], ecx
cvttss2si eax, xmm0
mov dword [ebp - 0x1f4], eax
mov byte [ebp - 0x15], cl
lea edx, [ebp - 0x1e8]
mov ecx, dword [0x10153cf4]
push edx
push dword [ebp - 0x204]
mov eax, dword [ecx]
mov eax, dword [eax + 0x20]
call eax
test al, al
je 0x10099258
push dword [ebp - 0x214]
push esi
call fcn.10096620
lea eax, [ebp - 0x224]
push eax
push esi
call fcn.100999d0
test al, al
je 0x10099258
cmp byte [ebp - 0x1ed], 0
lea edx, [ebp - 0x1c]
push dword [0x100c0d34]
lea ecx, [ebp - 0x20c]
push dword [0x100c0d30]
je 0x1009701b
mov dword [ebp - 0x1c], 0
call fcn.10020f70
add esp, 8
mov eax, dword [eax]
cmp eax, dword [0x100c0d34]
jne 0x10097034
jmp 0x10097044
mov dword [ebp - 0x1c], 1
call fcn.10020f70
add esp, 8
mov eax, dword [eax]
cmp eax, dword [0x100c0d34]
je 0x10097074
push ecx
push esi
call fcn.10099ca0
cmp byte [ebp - 0x1ed], 0
je 0x10097074
push dword [0x100c01ac]
lea edx, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0
push dword [0x100c01a8]
lea ecx, [ebp - 0x20c]
call fcn.10020f70
add esp, 8
mov eax, dword [eax]
cmp eax, dword [0x100c01ac]
jne 0x100970a2
jmp 0x100970e3
push dword [0x100c01ac]
lea edx, [ebp - 0x1c]
mov dword [ebp - 0x1c], 1
push dword [0x100c01a8]
lea ecx, [ebp - 0x20c]
call fcn.10020f70
add esp, 8
mov eax, dword [eax]
cmp eax, dword [0x100c01ac]
je 0x10097116
mov edx, dword [ebp - 0x220]
push ecx
mov ecx, dword [ebp - 0x1f4]
mov eax, esp
push dword [ebp - 0x18]
push dword [ebp - 0x218]
mov byte [eax + 3], cl
push dword [ebp - 0x21c]
mov ecx, dword [ebp - 0x224]
mov word [eax], 0xa0a
mov byte [eax + 2], 0xa
call fcn.1008da30
add esp, 0x10
cmp byte [ebp - 0x1ed], 0
je 0x10097116
push dword [0x100c068c]
lea edx, [ebp - 0x18]
mov dword [ebp - 0x18], 0
push dword [0x100c0688]
lea ecx, [ebp - 0x20c]
call fcn.10020f70
add esp, 8
mov eax, dword [eax]
cmp eax, dword [0x100c068c]
jne 0x10097148
jmp 0x1009724e
push dword [0x100c068c]
lea edx, [ebp - 0x18]
mov dword [ebp - 0x18], 1
push dword [0x100c0688]
lea ecx, [ebp - 0x20c]
call fcn.10020f70
add esp, 8
mov eax, dword [eax]
cmp eax, dword [0x100c068c]
je 0x10097281
lea eax, [ebp - 0x1d8]
push eax
lea ecx, [ebp - 0x24c]
call fcn.100208f0
push 0x18
push 0
lea ecx, [ebp - 0x78]
mov dword [ebp - 4], 0
push ecx
mov ecx, eax
call fcn.100402f0
lea ecx, [ebp - 0x24c]
mov byte [ebp - 4], 2
call fcn.100208a0
cmp dword [0x100c0108], 0
lea ecx, [ebp - 0x20c]
movd xmm3, dword [ebp - 0x1f4]
mov edx, esi
mov eax, dword [0x100c0720]
cvtdq2ps xmm3, xmm3
push eax
jne 0x100971e1
call fcn.10096c80
movzx ecx, byte [0x100c0723]
add esp, 4
movd xmm2, ecx
lea ecx, [ebp - 0x1ec]
cvtdq2ps xmm2, xmm2
push ecx
mov ecx, eax
call fcn.10092b80
mov ecx, dword [ebp - 0x220]
lea edx, [ebp - 0x78]
sub ecx, dword [0x10156b60]
push 2
push edx
push dword [eax]
push ecx
mov ecx, 0x10156b58
jmp 0x1009721f
call fcn.10096c80
movzx ecx, byte [0x100c0723]
add esp, 4
movd xmm2, ecx
lea ecx, [ebp - 0x1ec]
cvtdq2ps xmm2, xmm2
push ecx
mov ecx, eax
call fcn.10092b80
mov ecx, dword [ebp - 0x220]
lea edx, [ebp - 0x78]
sub ecx, dword [0x10156b60]
push 2
push edx
push dword [eax]
push ecx
mov ecx, 0x10154a84
mov eax, dword [ebp - 0x21c]
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x224]
push eax
call fcn.1008dd00
lea ecx, [ebp - 0x78]
mov dword [ebp - 4], 0xffffffff
call fcn.100208a0
cmp byte [ebp - 0x1ed], 0
je 0x10097281
push dword [0x100c07c4]
lea edx, [ebp - 0x18]
mov dword [ebp - 0x18], 0
push dword [0x100c07c0]
lea ecx, [ebp - 0x20c]
call fcn.10020f70
add esp, 8
mov eax, dword [eax]
cmp eax, dword [0x100c07c4]
jne 0x100972b3
jmp 0x1009744e
push dword [0x100c07c4]
lea edx, [ebp - 0x18]
mov dword [ebp - 0x18], 1
push dword [0x100c07c0]
lea ecx, [ebp - 0x20c]
call fcn.10020f70
add esp, 8
mov eax, dword [eax]
cmp eax, dword [0x100c07c4]
je 0x1009744e
mov ecx, dword [0x10153fa0]
lea eax, [ebp - 0x298]
mov esi, dword [ebp - 0x218]
add ecx, 0xffffffc5
xor ecx, 0xccb3e6ff
mov dword [ebp - 0x298], 0x64
add ecx, dword [ebp - 0x200]
add esi, 0xfffffffe
cmp dword [ecx], 0x64
cmovl eax, ecx
mov ecx, dword [eax]
mov eax, 0x64
sub eax, ecx
mov dword [ebp - 0x1c], ecx
imul ecx, eax, 0x1fe
mov eax, 0x51eb851f
imul ecx
mov ecx, 0xff
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, ecx
cmovg eax, ecx
imul ecx, dword [ebp - 0x1c], 0x1fe
mov dword [ebp - 0x230], eax
mov eax, 0x51eb851f
imul ecx
mov ecx, 0xff
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 0xff
push ecx
cmovg eax, ecx
mov dword [ebp - 0x234], eax
mov eax, dword [ebp - 0x1c]
imul eax, esi
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x100b0efc]
movss dword [ebp - 0x18], xmm0
fld dword [ebp - 0x18]
fstp dword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
mov ecx, dword [ebp - 0x1f4]
mov eax, esp
mov edx, dword [ebp - 0x220]
fstp dword [ebp - 0x18]
cvttss2si esi, dword [ebp - 0x18]
mov byte [eax + 3], cl
mov ecx, dword [ebp - 0x224]
mov word [eax], 0xa0a
mov byte [eax + 2], 0xa
mov eax, dword [ebp - 0x218]
push eax
push 4
lea ecx, [ecx - 6]
call fcn.1008d9f0
mov ecx, dword [ebp - 0x230]
add esp, 8
mov eax, esp
push esi
mov byte [eax], cl
mov ecx, dword [ebp - 0x234]
mov byte [eax + 1], cl
mov ecx, dword [ebp - 0x214]
mov byte [eax + 3], cl
mov ecx, dword [ebp - 0x220]
mov byte [eax + 2], 0
inc ecx
mov eax, dword [ebp - 0x218]
add eax, 0xfffffffe
sub eax, esi
add eax, ecx
mov ecx, dword [ebp - 0x224]
mov dword [ebp - 0x18], eax
add ecx, 0xfffffffb
push 2
mov edx, eax
call fcn.1008d9b0
mov eax, dword [ebp - 0x1c]
add esp, 0xc
cmp eax, 0x5d
jge 0x1009744e
mov edx, eax
lea ecx, [ebp - 0x24c]
call fcn.100358d0
push 2
push eax
push ecx
mov ecx, dword [ebp - 0x1f4]
mov eax, esp
mov dword [ebp - 4], 3
mov byte [eax + 3], cl
mov ecx, 0x10156b34
mov word [eax], 0xffff
mov byte [eax + 2], 0xff
mov eax, dword [ebp - 0x18]
add eax, 0xfffffffb
push eax
mov eax, dword [ebp - 0x224]
add eax, 0xfffffffb
push eax
call fcn.1008dd00
lea ecx, [ebp - 0x24c]
call fcn.100208a0
xorps xmm0, xmm0
mov dword [ebp - 0x20], 0
movq qword [ebp - 0x28], xmm0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
cmp byte [ebp - 0x1ed], 0
mov dword [ebp - 4], 4
movq qword [ebp - 0x6c], xmm0
mov dword [ebp - 0x64], 0
je 0x100974bb
push 0x100c0868
lea ecx, [ebp - 0x260]
call fcn.10027000
mov ecx, dword [ebp - 0x1f8]
or ecx, 0x80
or ecx, 1
lea eax, [ebp - 0x260]
mov dword [ebp - 0x1f8], ecx
jmp 0x100974d2
push 0x100c0910
lea ecx, [ebp - 0x54]
call fcn.10027000
or dword [ebp - 0x1f8], 0x42
lea eax, [ebp - 0x54]
push eax
lea ecx, [ebp - 0x6c]
call fcn.1009b7f0
mov dword [ebp - 4], 6
mov eax, dword [ebp - 0x1f8]
test al, 2
je 0x10097503
and eax, 0xfffffffd
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x1f8], eax
call fcn.1001ff20
mov eax, dword [ebp - 0x1f8]
mov byte [ebp - 4], 7
test al, 1
je 0x1009751f
and eax, 0xfffffffe
lea ecx, [ebp - 0x260]
mov dword [ebp - 0x1f8], eax
call fcn.1001ff20
xorps xmm0, xmm0
mov dword [ebp - 0x4c], 0
push 0x100bd9a8
lea ecx, [ebp - 0x54]
movq qword [ebp - 0x54], xmm0
call fcn.10027000
or dword [ebp - 0x1f8], 0x20
mov byte [ebp - 4], 8
imul eax, dword [ebp - 0x204], 0x2100
mov esi, dword [ebp - 0x54]
lea eax, [eax + 0x100cae60]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x50]
cmp esi, eax
je 0x10097819
mov edi, dword [ebp - 0x18]
mov cl, byte [ebp - 0x1ed]
test cl, cl
je 0x10097808
cmp dword [esi], 0
jne 0x10097681
test edi, edi
je 0x10097681
cmp dword [edi + 0x24], 0
je 0x10097681
lea ecx, [edi + 0x14]
call fcn.10020030
mov eax, dword [eax]
test eax, eax
je 0x10097681
cmp byte [eax + 0x1c], 0
jne 0x10097681
movss xmm1, dword [eax + 0x78]
movss xmm0, dword [eax + 0xac]
call fcn.10086860
call fcn.10019fc0
movss xmm1, dword [0x100b10cc]
lea ecx, [ebp - 0x40]
comiss xmm1, xmm0
push 0x100b0da0
jb 0x1009761c
call fcn.100208f0
mov eax, dword [ebp - 0x1f4]
lea ecx, [ebp - 0x290]
mov byte [ebp - 4], 9
mov byte [ebp - 0x201], al
lea eax, [ebp - 0x204]
push eax
lea eax, [ebp - 0x40]
mov word [ebp - 0x204], 0xff
push eax
mov byte [ebp - 0x202], 0
call fcn.1009bab0
mov byte [ebp - 4], 0xa
jmp 0x1009765b
call fcn.100208f0
mov eax, dword [ebp - 0x1f4]
lea ecx, [ebp - 0x290]
mov byte [ebp - 4], 0xb
mov byte [ebp - 0x225], al
lea eax, [ebp - 0x228]
push eax
lea eax, [ebp - 0x40]
mov word [ebp - 0x228], 0xc5af
push eax
mov byte [ebp - 0x226], 0x6d
call fcn.1009bab0
mov byte [ebp - 4], 0xc
lea eax, [ebp - 0x290]
push eax
lea ecx, [ebp - 0x28]
call fcn.1009b710
lea ecx, [ebp - 0x290]
call fcn.100208a0
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 8
call fcn.100208a0
cmp dword [esi], 1
jne 0x10097762
test edi, edi
je 0x10097762
cmp dword [edi + 0x24], 0
je 0x10097762
lea ecx, [edi + 0x14]
call fcn.10020030
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x10097762
cmp byte [eax + 0x1c], 0
jne 0x10097762
cmp dword [edi + 0x24], 2
jb 0x10097762
push 1
call fcn.10020050
mov eax, dword [eax]
test eax, eax
je 0x10097762
cmp byte [eax + 0x1c], 0
jne 0x10097762
mov ecx, dword [ebp - 0x1c]
cmp byte [ecx + 0x70d], 0
je 0x10097762
cmp byte [eax + 0x70d], 0
je 0x10097762
push str.RETARD
lea ecx, [ebp - 0x40]
call fcn.100208f0
mov eax, dword [ebp - 0x1f4]
lea ecx, [ebp - 0x290]
mov byte [ebp - 4], 0xd
mov byte [ebp - 0x229], al
lea eax, [ebp - 0x22c]
push eax
lea eax, [ebp - 0x40]
mov word [ebp - 0x22c], 0xff
push eax
mov byte [ebp - 0x22a], 0
call fcn.1009bab0
lea eax, [ebp - 0x290]
mov byte [ebp - 4], 0xe
push eax
lea ecx, [ebp - 0x28]
call fcn.1009b710
lea ecx, [ebp - 0x290]
call fcn.100208a0
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 8
call fcn.100208a0
cmp dword [esi], 2
jne 0x100977ff
test edi, edi
je 0x100977ff
cmp dword [edi + 0x24], 0
je 0x100977ff
lea ecx, [edi + 0x14]
call fcn.10020030
mov edx, dword [eax]
test edx, edx
je 0x100977ff
cmp byte [edx + 0x1c], 0
jne 0x100977ff
mov eax, dword [ebp - 0x1f4]
movss xmm0, dword [edx + 0x30]
movzx ecx, al
shl ecx, 0x18
mov eax, ecx
or ecx, 0xdcdcdc
or eax, 0xff
comiss xmm0, dword [edx + 0x2c]
movss xmm0, dword [0x100b11d4]
cmova ecx, eax
comiss xmm0, dword [edx + 0x20]
mov dword [ebp - 0x1c], ecx
jbe 0x100977ff
cmp dword [edx + 0x10], 2
jg 0x100977ff
lea eax, [ebp - 0x1c]
push eax
push ecx
lea ecx, [ebp - 0x290]
call fcn.1009bae0
lea eax, [ebp - 0x290]
mov byte [ebp - 4], 0xf
push eax
lea ecx, [ebp - 0x28]
call fcn.1009b710
lea ecx, [ebp - 0x290]
mov byte [ebp - 4], 8
call fcn.100208a0
mov cl, byte [ebp - 0x1ed]
mov eax, dword [ebp - 0x50]
add esi, 4
cmp esi, eax
jne 0x10097570
mov edi, dword [ebp - 0x1fc]
mov esi, dword [ebp - 0x6c]
cmp esi, dword [ebp - 0x68]
je 0x10098638
cmp dword [esi], 0
jne 0x1009794a
mov eax, dword [0x10153fa8]
lea ecx, [ebp - 0x40]
add eax, 0xffffffc3
mov edx, 0x100b0e5c
xor eax, 0xccb3e701
add eax, dword [ebp - 0x200]
push eax
call fcn.10076650
add esp, 4
mov ecx, dword [ebp - 0x1f4]
mov byte [ebp - 4], 0x10
mov byte [ebp - 0x229], cl
lea ecx, [ebp - 0x250]
push eax
mov word [ebp - 0x22c], 0xc896
mov byte [ebp - 0x22a], 0x3c
call fcn.10027150
mov eax, dword [ebp - 0x22c]
mov dword [ebp - 0x238], eax
mov byte [ebp - 4], 0x11
mov ecx, dword [ebp - 0x24]
cmp ecx, dword [ebp - 0x20]
je 0x100978c2
movups xmm0, xmmword [ebp - 0x250]
mov edx, 0xf
mov byte [ebp - 0x250], 0
movups xmmword [ecx], xmm0
movq xmm0, qword [ebp - 0x240]
movq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
add dword [ebp - 0x24], 0x1c
jmp 0x100978d8
lea eax, [ebp - 0x250]
push eax
push ecx
lea ecx, [ebp - 0x28]
call fcn.10072f70
mov edx, dword [ebp - 0x23c]
mov byte [ebp - 4], 0x10
cmp edx, 0x10
jb 0x10097912
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x250]
mov eax, edx
cmp ecx, 0x1000
jb 0x10097908
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100987ae
push ecx
push edx
call fcn.1009d0b5
add esp, 8
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x2c]
cmp ecx, 0x10
jb 0x1009794a
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10097940
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100987ae
push ecx
push edx
call fcn.1009d0b5
add esp, 8
cmp dword [esi], 1
mov ecx, dword [ebp - 0x200]
jne 0x10097c44
mov eax, dword [0x10153ff0]
add eax, 0xffffffb1
xor eax, 0xccb3e713
cmp byte [eax + ecx], 0
mov eax, dword [0x1015400c]
je 0x10097bbf
add eax, 0xffffffaa
mov dword [ebp - 0x30], 0
xor eax, 0xccb3e71a
mov dword [ebp - 0x2c], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x40], xmm0
cmp dword [eax + ecx], 0
lea ecx, [ebp - 0x40]
jle 0x10097aaf
push 2
push 0x100b0e60
call fcn.10021340
mov eax, dword [ebp - 0x1f4]
lea ecx, [ebp - 0x250]
mov byte [ebp - 4], 0x12
mov byte [ebp - 0x225], al
lea eax, [ebp - 0x40]
push eax
mov word [ebp - 0x228], 0xffff
mov byte [ebp - 0x226], 0xff
call fcn.10027150
mov eax, dword [ebp - 0x228]
mov dword [ebp - 0x238], eax
mov byte [ebp - 4], 0x13
mov ecx, dword [ebp - 0x24]
cmp ecx, dword [ebp - 0x20]
je 0x10097a1e
movups xmm0, xmmword [ebp - 0x250]
mov edx, 0xf
mov byte [ebp - 0x250], 0
movups xmmword [ecx], xmm0
movq xmm0, qword [ebp - 0x240]
movq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
add dword [ebp - 0x24], 0x1c
jmp 0x10097a34
lea eax, [ebp - 0x250]
push eax
push ecx
lea ecx, [ebp - 0x28]
call fcn.10072f70
mov edx, dword [ebp - 0x23c]
mov byte [ebp - 4], 0x12
cmp edx, 0x10
jb 0x10097a6e
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x250]
mov eax, edx
cmp ecx, 0x1000
jb 0x10097a64
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100987ae
push ecx
push edx
call fcn.1009d0b5
add esp, 8
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x2c]
cmp ecx, 0x10
jb 0x10097c3e
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10097aa0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100987ae
push ecx
push edx
call fcn.1009d0b5
add esp, 8
jmp 0x10097c3e
push 1
push 0x100b0d2c
call fcn.10021340
mov eax, dword [ebp - 0x1f4]
lea ecx, [ebp - 0x250]
mov byte [ebp - 4], 0x14
mov byte [ebp - 0x201], al
lea eax, [ebp - 0x40]
push eax
mov word [ebp - 0x204], 0xffff
mov byte [ebp - 0x202], 0xff
call fcn.10027150
mov eax, dword [ebp - 0x204]
mov dword [ebp - 0x238], eax
mov byte [ebp - 4], 0x15
mov ecx, dword [ebp - 0x24]
cmp ecx, dword [ebp - 0x20]
je 0x10097b2e
movups xmm0, xmmword [ebp - 0x250]
mov edx, 0xf
mov byte [ebp - 0x250], 0
movups xmmword [ecx], xmm0
movq xmm0, qword [ebp - 0x240]
movq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
add dword [ebp - 0x24], 0x1c
jmp 0x10097b44
lea eax, [ebp - 0x250]
push eax
push ecx
lea ecx, [ebp - 0x28]
call fcn.10072f70
mov edx, dword [ebp - 0x23c]
mov byte [ebp - 4], 0x14
cmp edx, 0x10
jb 0x10097b7e
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x250]
mov eax, edx
cmp ecx, 0x1000
jb 0x10097b74
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100987ae
push ecx
push edx
call fcn.1009d0b5
add esp, 8
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x2c]
cmp ecx, 0x10
jb 0x10097c3e
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10097bb0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100987ae
push ecx
push edx
call fcn.1009d0b5
add esp, 8
jmp 0x10097c3e
add eax, 0xffffffaa
xor eax, 0xccb3e71a
cmp dword [eax + ecx], 0
jle 0x10097c44
push 0x100b0d14
lea ecx, [ebp - 0x40]
call fcn.100208f0
mov eax, dword [ebp - 0x1f4]
lea ecx, [ebp - 0x290]
mov byte [ebp - 4], 0x16
mov byte [ebp - 0x265], al
lea eax, [ebp - 0x268]
push eax
lea eax, [ebp - 0x40]
mov word [ebp - 0x268], 0xffff
push eax
mov byte [ebp - 0x266], 0xff
call fcn.1009bab0
lea eax, [ebp - 0x290]
mov byte [ebp - 4], 0x17
push eax
lea ecx, [ebp - 0x28]
call fcn.1009b710
lea ecx, [ebp - 0x290]
call fcn.100208a0
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 8
call fcn.100208a0
mov ecx, dword [ebp - 0x200]
cmp dword [esi], 2
jne 0x10097d83
mov eax, dword [0x10153ffc]
add eax, 0xffffffae
xor eax, 0xccb3e716
cmp byte [eax + ecx], 0
je 0x10097d83
push 4
xorps xmm0, xmm0
mov dword [ebp - 0x30], 0
push str.ZOOM
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x2c], 0
movups xmmword [ebp - 0x40], xmm0
call fcn.10021340
mov eax, dword [ebp - 0x1f4]
lea ecx, [ebp - 0x250]
mov byte [ebp - 0x271], al
lea eax, [ebp - 0x40]
push eax
mov byte [ebp - 4], 0x18
mov word [ebp - 0x274], 0xb43c
mov byte [ebp - 0x272], 0xe1
call fcn.10027150
mov eax, dword [ebp - 0x274]
mov dword [ebp - 0x238], eax
mov byte [ebp - 4], 0x19
mov ecx, dword [ebp - 0x24]
cmp ecx, dword [ebp - 0x20]
je 0x10097cfb
movups xmm0, xmmword [ebp - 0x250]
mov edx, 0xf
mov byte [ebp - 0x250], 0
movups xmmword [ecx], xmm0
movq xmm0, qword [ebp - 0x240]
movq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
add dword [ebp - 0x24], 0x1c
jmp 0x10097d11
lea eax, [ebp - 0x250]
push eax
push ecx
lea ecx, [ebp - 0x28]
call fcn.10072f70
mov edx, dword [ebp - 0x23c]
mov byte [ebp - 4], 0x18
cmp edx, 0x10
jb 0x10097d4b
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x250]
mov eax, edx
cmp ecx, 0x1000
jb 0x10097d41
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100987ae
push ecx
push edx
call fcn.1009d0b5
add esp, 8
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x2c]
cmp ecx, 0x10
jb 0x10097d83
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10097d79
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100987ae
push ecx
push edx
call fcn.1009d0b5
add esp, 8
cmp dword [esi], 3
xorps xmm1, xmm1
mov edx, dword [ebp - 0x200]
jne 0x10097ed8
mov eax, dword [0x1015401c]
add eax, 0xffffffa6
xor eax, 0xccb3e71e
movss xmm0, dword [eax + edx]
comiss xmm0, xmm1
jbe 0x10097ed8
push 7
xorps xmm0, xmm0
mov dword [ebp - 0x30], 0
push str.FLASHED
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x2c], 0
movups xmmword [ebp - 0x40], xmm0
call fcn.10021340
mov eax, dword [ebp - 0x1f4]
lea ecx, [ebp - 0x250]
mov byte [ebp - 0x26d], al
lea eax, [ebp - 0x40]
push eax
mov byte [ebp - 4], 0x1a
mov word [ebp - 0x270], 0xffff
mov byte [ebp - 0x26e], 0
call fcn.10027150
mov eax, dword [ebp - 0x270]
mov dword [ebp - 0x238], eax
mov byte [ebp - 4], 0x1b
mov ecx, dword [ebp - 0x24]
cmp ecx, dword [ebp - 0x20]
je 0x10097e47
movups xmm0, xmmword [ebp - 0x250]
mov edx, 0xf
mov byte [ebp - 0x250], 0
movups xmmword [ecx], xmm0
movq xmm0, qword [ebp - 0x240]
movq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
add dword [ebp - 0x24], 0x1c
jmp 0x10097e5d
lea eax, [ebp - 0x250]
push eax
push ecx
lea ecx, [ebp - 0x28]
call fcn.10072f70
mov edx, dword [ebp - 0x23c]
mov byte [ebp - 4], 0x1a
cmp edx, 0x10
jb 0x10097e97
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x250]
mov eax, edx
cmp ecx, 0x1000
jb 0x10097e8d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100987ae
push ecx
push edx
call fcn.1009d0b5
add esp, 8
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x2c]
cmp ecx, 0x10
jb 0x10097ecf
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10097ec5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100987ae
push ecx
push edx
call fcn.1009d0b5
add esp, 8
mov edx, dword [ebp - 0x200]
xorps xmm1, xmm1
cmp dword [esi], 4
jne 0x10098060
mov eax, dword [0x10153ec0]
mov ecx, dword [edx + eax]
movss xmm0, dword [ecx + 0x58]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x10098060
mov eax, dword [ecx + 0x50]
mov ecx, dword [0x10153e70]
mov dword [ebp - 0x44], ecx
mov ecx, dword [0x10153ee0]
mov dword [ebp - 0x48], eax
cmp dword [edx + ecx], 0
jne 0x10097f28
mov eax, dword [0x10153e4c]
mov ecx, edx
call eax
mov ecx, dword [0x10153ee0]
mov eax, dword [ebp - 0x48]
mov edx, eax
mov eax, dword [ebp - 0x200]
mov ecx, dword [eax + ecx]
call dword [ebp - 0x44]
cmp eax, 0x3c7
jne 0x10098060
push 6
xorps xmm0, xmm0
mov dword [ebp - 0x30], 0
push str.RELOAD
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x2c], 0
movups xmmword [ebp - 0x40], xmm0
call fcn.10021340
mov eax, dword [ebp - 0x1f4]
lea ecx, [ebp - 0x250]
mov byte [ebp - 0x269], al
lea eax, [ebp - 0x40]
push eax
mov byte [ebp - 4], 0x1c
mov word [ebp - 0x26c], 0xb43c
mov byte [ebp - 0x26a], 0xe1
call fcn.10027150
mov eax, dword [ebp - 0x26c]
mov dword [ebp - 0x238], eax
mov byte [ebp - 4], 0x1d
mov ecx, dword [ebp - 0x24]
cmp ecx, dword [ebp - 0x20]
je 0x10097fd8
movups xmm0, xmmword [ebp - 0x250]
mov edx, 0xf
mov byte [ebp - 0x250], 0
movups xmmword [ecx], xmm0
movq xmm0, qword [ebp - 0x240]
movq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
add dword [ebp - 0x24], 0x1c
jmp 0x10097fee
lea eax, [ebp - 0x250]
push eax
push ecx
lea ecx, [ebp - 0x28]
call fcn.10072f70
mov edx, dword [ebp - 0x23c]
mov byte [ebp - 4], 0x1c
cmp edx, 0x10
jb 0x10098028
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x250]
mov eax, edx
cmp ecx, 0x1000
jb 0x1009801e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100987ae
push ecx
push edx
call fcn.1009d0b5
add esp, 8
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x2c]
cmp ecx, 0x10
jb 0x10098060
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10098056
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100987ae
push ecx
push edx
call fcn.1009d0b5
add esp, 8
cmp dword [esi], 5
jne 0x1009819d
mov eax, dword [0x10153e7c]
mov ecx, dword [ebp - 0x200]
call eax
test al, al
je 0x1009819d
push 4
xorps xmm0, xmm0
mov dword [ebp - 0x30], 0
push str.BOMB
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x2c], 0
movups xmmword [ebp - 0x40], xmm0
call fcn.10021340
mov eax, dword [ebp - 0x1f4]
lea ecx, [ebp - 0x250]
mov byte [ebp - 0x261], al
lea eax, [ebp - 0x40]
push eax
mov byte [ebp - 4], 0x1e
mov word [ebp - 0x264], 0xff
mov byte [ebp - 0x262], 0
call fcn.10027150
mov eax, dword [ebp - 0x264]
mov dword [ebp - 0x238], eax
mov byte [ebp - 4], 0x1f
mov ecx, dword [ebp - 0x24]
cmp ecx, dword [ebp - 0x20]
je 0x10098115
movups xmm0, xmmword [ebp - 0x250]
mov edx, 0xf
mov byte [ebp - 0x250], 0
movups xmmword [ecx], xmm0
movq xmm0, qword [ebp - 0x240]
movq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
add dword [ebp - 0x24], 0x1c
jmp 0x1009812b
lea eax, [ebp - 0x250]
push eax
push ecx
lea ecx, [ebp - 0x28]
call fcn.10072f70
mov edx, dword [ebp - 0x23c]
mov byte [ebp - 4], 0x1e
cmp edx, 0x10
jb 0x10098165
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x250]
mov eax, edx
cmp ecx, 0x1000
jb 0x1009815b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100987ae
push ecx
push edx
call fcn.1009d0b5
add esp, 8
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x2c]
cmp ecx, 0x10
jb 0x1009819d
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10098193
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100987ae
push ecx
push edx
call fcn.1009d0b5
add esp, 8
cmp dword [esi], 6
jne 0x10098286
cmp byte [ebp - 0x1ed], 0
je 0x10098286
mov ecx, dword [0x10153cf8]
mov eax, dword [0x10154050]
add eax, 0xffffff99
mov dword [ebp - 0x44], ecx
xor eax, 0xccb3e72b
mov edx, dword [ecx]
add eax, dword [ebp - 0x200]
mov ecx, dword [edx + 0x10]
mov eax, dword [eax]
push ecx
mov edx, esp
mov dword [ebp - 0x48], ecx
mov ecx, dword [ebp - 0x44]
mov dword [edx], eax
call dword [ebp - 0x48]
test eax, eax
je 0x10098286
mov ecx, dword [0x10154068]
add ecx, 0xffffff93
xor ecx, 0xccb3e731
cmp dword [ecx + eax], 0x1f
jne 0x10098286
push str.ZEUS
lea ecx, [ebp - 0x40]
call fcn.100208f0
mov byte [ebp - 4], 0x20
mov eax, dword [0x100cc860]
movzx ecx, ah
movzx edx, al
movzx eax, byte [0x100cc862]
mov byte [ebp - 0x232], al
mov eax, dword [ebp - 0x1f4]
mov byte [ebp - 0x231], al
lea eax, [ebp - 0x234]
push eax
lea eax, [ebp - 0x40]
mov byte [ebp - 0x233], cl
push eax
lea ecx, [ebp - 0x290]
mov byte [ebp - 0x234], dl
call fcn.1009bab0
lea eax, [ebp - 0x290]
mov byte [ebp - 4], 0x21
push eax
lea ecx, [ebp - 0x28]
call fcn.1009b710
lea ecx, [ebp - 0x290]
call fcn.100208a0
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 8
call fcn.100208a0
cmp dword [esi], 7
jne 0x1009837a
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x1009837a
cmp dword [eax + 0x24], 0
je 0x1009837a
mov edx, dword [eax + 0x20]
mov ecx, dword [eax + 0x1c]
mov eax, edx
shr eax, 1
dec ecx
and ecx, eax
and edx, 1
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x18]
mov eax, dword [eax + ecx*4]
mov eax, dword [eax + edx*8]
test eax, eax
je 0x1009837a
cmp byte [eax + 0x1c], 0
jne 0x1009837a
movss xmm1, dword [eax + 0x38]
movss xmm2, dword [eax + 0x3c]
subss xmm2, dword [eax + 0x48]
subss xmm1, dword [eax + 0x44]
movss xmm0, dword [eax + 0x40]
subss xmm0, dword [eax + 0x4c]
mulss xmm2, xmm2
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm2, xmm1
addss xmm2, xmm0
comiss xmm2, dword [0x100b119c]
jbe 0x1009837a
push 0x100b0e50
lea ecx, [ebp - 0x40]
call fcn.100208f0
mov eax, dword [ebp - 0x1f4]
lea ecx, [ebp - 0x290]
mov byte [ebp - 4], 0x22
mov byte [ebp - 0x22d], al
lea eax, [ebp - 0x230]
push eax
lea eax, [ebp - 0x40]
mov word [ebp - 0x230], 0xff
push eax
mov byte [ebp - 0x22e], 0
call fcn.1009bab0
lea eax, [ebp - 0x290]
mov byte [ebp - 4], 0x23
push eax
lea ecx, [ebp - 0x28]
call fcn.1009b710
lea ecx, [ebp - 0x290]
call fcn.100208a0
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 8
call fcn.100208a0
cmp dword [esi], 8
jne 0x1009862c
mov eax, dword [0x1015e628]
test eax, eax
je 0x1009862c
mov eax, dword [eax]
mov ecx, edi
mov dword [ebp - 0x1ec], eax
mov eax, dword [edi]
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [0x1015e7a4]
mov dword [ebp - 0x20c], eax
test cl, 1
jne 0x100983ff
or ecx, 1
mov dword [0x1015e7a4], ecx
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x24
push eax
mov ecx, 0x1015e650
mov dword [ebp - 0x48], 0x5fa2671c
mov dword [ebp - 0x44], 0x38d4fdc3
call fcn.1003f410
lea ecx, [ebp - 0x48]
push ecx
mov ecx, eax
call fcn.1003f3f0
push 0x100a8270
mov eax, dword [eax + 8]
mov dword [0x1015e7a0], eax
call fcn.1009d09b
add esp, 4
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x1ec]
sub esp, 8
mov ecx, dword [ebp - 0x20c]
lea ecx, [eax + ecx*4]
mov eax, dword [0x1015e7a0]
movd xmm0, dword [ecx + eax]
cvtdq2pd xmm0, xmm0
movsd qword [ebp - 0x210], xmm0
fld qword [ebp - 0x210]
fstp qword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_round
fstp qword [ebp - 0x210]
cvttsd2si edx, qword [ebp - 0x210]
lea ecx, [ebp - 0x20c]
add esp, 8
mov dword [ebp - 0x44], 0x2ee
mov dword [ebp - 0x20c], 0
mov byte [ebp - 0x1c], 0xff
movss xmm0, dword [0x100b1170]
mov eax, edx
mov dword [ebp - 0x1ec], edx
shr eax, 0x1f
test al, al
lea eax, [ebp - 0x1ec]
cmove ecx, eax
cmp edx, 0x2ee
lea eax, [ebp - 0x44]
cmovle eax, ecx
lea ecx, [ebp - 0x24c]
movd xmm1, dword [eax]
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [0x100b0f7c]
subss xmm0, xmm1
cvttss2si eax, xmm0
mov byte [ebp - 0x1b], al
mov byte [ebp - 0x1a], al
mov eax, dword [ebp - 0x1f4]
mov byte [ebp - 0x19], al
call fcn.100358d0
mov ecx, eax
mov edi, dword [ebp - 0x1fc]
mov byte [ebp - 4], 0x25
mov eax, dword [ecx + 0x14]
mov edx, dword [ecx + 0x10]
sub eax, edx
cmp eax, 2
jb 0x100984fb
cmp dword [ecx + 0x14], 0x10
lea eax, [edx + 2]
mov dword [ecx + 0x10], eax
mov eax, ecx
jb 0x100984e5
mov eax, dword [ecx]
mov edi, 0x736d
mov word [eax + edx], di
mov edi, dword [ebp - 0x1fc]
mov byte [eax + edx + 2], 0
jmp 0x10098518
push 2
push 0x100b0ec8
mov byte [ebp - 0x258], 0
push dword [ebp - 0x258]
push 2
call fcn.10034600
mov ecx, eax
movups xmm1, xmmword [ecx]
or dword [ebp - 0x1f8], 0x10
movq xmm2, qword [ecx + 0x10]
movups xmmword [ebp - 0x40], xmm1
mov dword [ecx + 0x10], 0
movq qword [ebp - 0x30], xmm2
mov dword [ecx + 0x14], 0xf
mov byte [ecx], 0
mov eax, dword [ebp - 0x1c]
xorps xmm0, xmm0
movups xmmword [ebp - 0x290], xmm0
mov dword [ebp - 0x30], 0
movups xmmword [ebp - 0x290], xmm1
mov dword [ebp - 0x2c], 0xf
movq qword [ebp - 0x280], xmm2
mov byte [ebp - 0x40], 0
mov dword [ebp - 0x278], eax
mov byte [ebp - 4], 0x27
mov ecx, dword [ebp - 0x24]
cmp ecx, dword [ebp - 0x20]
je 0x1009859e
movups xmmword [ecx], xmm1
mov edx, 0xf
mov byte [ebp - 0x290], 0
movq qword [ecx + 0x10], xmm2
mov dword [ecx + 0x18], eax
add dword [ebp - 0x24], 0x1c
jmp 0x100985b4
lea eax, [ebp - 0x290]
push eax
push ecx
lea ecx, [ebp - 0x28]
call fcn.10072f70
mov edx, dword [ebp - 0x27c]
mov byte [ebp - 4], 0x26
cmp edx, 0x10
jb 0x100985ee
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x290]
mov eax, edx
cmp ecx, 0x1000
jb 0x100985e4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100987ae
push ecx
push edx
call fcn.1009d0b5
add esp, 8
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x238]
cmp ecx, 0x10
jb 0x1009862c
mov edx, dword [ebp - 0x24c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10098622
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100987ae
push ecx
push edx
call fcn.1009d0b5
add esp, 8
add esi, 4
cmp esi, dword [ebp - 0x68]
jne 0x10097825
mov ecx, dword [ebp - 0x24]
mov eax, 0x92492493
mov esi, dword [ebp - 0x28]
sub ecx, esi
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x100986ce
mov eax, dword [ebp - 0x224]
mov edx, dword [ebp - 0x21c]
add eax, 2
add edx, eax
xor eax, eax
mov dword [ebp - 0x258], edx
xor edi, edi
mov dword [ebp - 0x18], eax
lea ecx, [eax + esi]
mov eax, dword [0x10156b3c]
dec eax
push 0
imul eax, edi
push ecx
push dword [ecx + 0x18]
mov ecx, 0x10156b34
add eax, dword [ebp - 0x220]
push eax
push edx
call fcn.1008dd00
mov ecx, dword [ebp - 0x24]
mov eax, 0x92492493
mov esi, dword [ebp - 0x28]
inc edi
add dword [ebp - 0x18], 0x1c
sub ecx, esi
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x258]
cmp edi, eax
mov eax, dword [ebp - 0x18]
jb 0x10098677
mov edi, dword [ebp - 0x1fc]
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0x54]
test edx, edx
je 0x10098713
mov eax, dword [ebp - 0x4c]
sub eax, edx
sar eax, 2
lea ecx, [eax*4]
mov eax, edx
cmp ecx, 0x1000
jb 0x10098706
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100987ae
push ecx
push edx
call fcn.1009d0b5
mov esi, dword [ebp - 0x28]
add esp, 8
mov byte [ebp - 4], 4
mov edx, dword [ebp - 0x6c]
test edx, edx
je 0x10098754
mov eax, dword [ebp - 0x64]
sub eax, edx
sar eax, 2
lea ecx, [eax*4]
mov eax, edx
cmp ecx, 0x1000
jb 0x10098747
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100987ae
push ecx
push edx
call fcn.1009d0b5
mov esi, dword [ebp - 0x28]
add esp, 8
mov dword [ebp - 4], 0xffffffff
test esi, esi
je 0x100987be
mov edx, dword [ebp - 0x24]
push ecx
mov ecx, esi
call fcn.10072d70
mov ecx, dword [ebp - 0x20]
mov eax, 0x92492493
mov esi, dword [ebp - 0x28]
add esp, 4
sub ecx, esi
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax*8]
sub ecx, eax
mov eax, esi
shl ecx, 2
cmp ecx, 0x1000
jb 0x100987b4
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100987b4
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push esi
call fcn.1009d0b5
add esp, 8
cmp byte [ebp - 0x1ed], 0
mov dword [ebp - 0x1f8], 0
je 0x10098971
cmp byte [0x100c0bec], 0
je 0x10098951
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x28]
call eax
dec eax
imul esi, eax, 0x2100
add esi, 0x100ccf60
je 0x10098951
cmp byte [esi + 0x788], 0
je 0x10098951
cmp dword [esi + 0x24], 0
je 0x10098951
mov edx, dword [esi + 0x20]
mov eax, edx
mov ecx, dword [esi + 0x1c]
and edx, 1
shr eax, 1
dec ecx
and ecx, eax
mov eax, dword [esi + 0x18]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax + edx*8]
test ecx, ecx
je 0x10098951
movss xmm1, dword [ecx + 0x54]
movss xmm0, dword [ecx + 0x50]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
call fcn.10019ff0
movss xmm1, dword [0x100b0f2c]
comiss xmm1, xmm0
jb 0x10098951
movss xmm0, dword [esi + 0x784]
ucomiss xmm0, dword [0x100b11ac]
lahf
test ah, 0x44
jnp 0x10098951
subss xmm0, dword [ecx + 0x718]
lea eax, [ebp - 0x258]
mov dword [ebp - 0x258], 0x3f8ccccd
push eax
lea edx, [ebp - 0x20c]
mov dword [ebp - 0x20c], 0
lea ecx, [ebp - 0x1ec]
movss dword [ebp - 0x1ec], xmm0
call fcn.10020f30
mov edx, dword [ebp - 0x21c]
mov ecx, dword [ebp - 0x1f4]
mov edi, dword [ebp - 0x224]
movd xmm1, edx
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [eax]
mov eax, esp
push 4
push edx
mov edx, dword [ebp - 0x218]
mulss xmm1, dword [0x100b0fbc]
add edx, 2
add edx, dword [ebp - 0x220]
mov byte [eax + 3], cl
mov ecx, edi
mov word [eax], 0xa0a
movss dword [ebp - 0x258], xmm1
mov byte [eax + 2], 0xa
call fcn.1008d9f0
mov eax, dword [0x100c0c90]
lea ecx, [edi + 1]
mov edx, dword [ebp - 0x218]
add esp, 0xc
mov dword [ebp - 0x18], eax
add edx, 3
mov eax, dword [ebp - 0x214]
add edx, dword [ebp - 0x220]
mov byte [ebp - 0x15], al
cvttss2si eax, dword [ebp - 0x258]
push dword [ebp - 0x18]
push 2
push eax
call fcn.1008d9b0
add esp, 0xc
mov dword [ebp - 0x1f8], 5
push 0
push dword [0x100c09bc]
push dword [0x100c09b8]
call fcn.1009c970
cmp eax, dword [0x100c09bc]
jne 0x10098990
jmp 0x10099258
push 1
push dword [0x100c09bc]
push dword [0x100c09b8]
call fcn.1009c970
cmp eax, dword [0x100c09bc]
je 0x10099258
mov ecx, dword [0x10153cf8]
mov eax, dword [0x10154050]
mov edi, dword [ebp - 0x200]
add eax, 0xffffff99
push ecx
mov edx, dword [ecx]
xor eax, 0xccb3e72b
mov esi, dword [edx + 0x10]
mov edx, esp
mov eax, dword [eax + edi]
mov dword [edx], eax
call esi
mov esi, eax
mov dword [ebp - 0x44], esi
test esi, esi
je 0x10099258
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x6f8]
call eax
test eax, eax
je 0x10099258
mov eax, dword [eax + 0x14]
xorps xmm1, xmm1
mov dword [ebp - 0x1c], eax
mov eax, dword [0x1015406c]
add eax, 0xffffff92
xor eax, 0xccb3e732
mov ecx, dword [eax + esi]
mov eax, dword [0x10153ec0]
mov dword [ebp - 0x230], ecx
mov ecx, dword [edi + eax]
mov dword [ebp - 0x1ec], ecx
movss xmm0, dword [ecx + 0x58]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x10098a60
mov eax, dword [ecx + 0x50]
mov ecx, dword [0x10153e70]
mov dword [ebp - 0x20c], ecx
mov ecx, dword [0x10153ee0]
mov dword [ebp - 0x258], eax
cmp dword [edi + ecx], 0
jne 0x10098a4a
mov eax, dword [0x10153e4c]
mov ecx, edi
call eax
mov ecx, dword [0x10153ee0]
mov eax, dword [ebp - 0x258]
mov ecx, dword [edi + ecx]
mov edx, eax
call dword [ebp - 0x20c]
cmp eax, 0x3c7
jne 0x10098a60
mov al, 1
jmp 0x10098a62
xor al, al
mov ecx, dword [ebp - 0x1c]
mov byte [ebp - 0x1ed], al
cmp ecx, 0xffffffff
je 0x10098c53
cmp byte [0x100c0ad4], 0
je 0x10098c53
test al, al
je 0x10098a92
mov eax, dword [ebp - 0x1ec]
movss xmm1, dword [eax + 0x64]
jmp 0x10098aa8
movd xmm1, dword [ebp - 0x230]
movd xmm0, ecx
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
mov eax, dword [ebp - 0x21c]
add eax, 0xfffffffe
push ecx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0x258], xmm0
fld dword [ebp - 0x258]
fstp dword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
mov ecx, dword [0x10153d00]
add esp, 4
mov eax, dword [ebp - 0x214]
mov edi, dword [ebp - 0x1f8]
add edi, dword [ebp - 0x220]
add edi, dword [ebp - 0x218]
mov byte [ebp - 0x1f9], al
mov eax, dword [ecx]
mov word [ebp - 0x1fc], 0xa0a
mov byte [ebp - 0x1fa], 0xa
lea esi, [edi + 2]
push dword [ebp - 0x1fc]
mov eax, dword [eax + 0x38]
fstp dword [ebp - 0x264]
mov dword [ebp - 0x234], edi
call eax
mov ecx, dword [0x10153d00]
mov eax, dword [ecx]
mov edx, dword [eax + 0x40]
lea eax, [esi + 4]
push eax
mov eax, dword [ebp - 0x224]
add eax, dword [ebp - 0x21c]
push eax
push esi
mov esi, dword [ebp - 0x224]
push esi
call edx
mov eax, dword [0x100c0b78]
add edi, 3
mov ecx, dword [0x10153d00]
inc esi
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x214]
mov byte [ebp - 0x15], al
mov eax, dword [ecx]
push dword [ebp - 0x18]
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x10153d00]
mov eax, dword [ecx]
mov edx, dword [eax + 0x48]
lea eax, [edi + 2]
push eax
cvttss2si eax, dword [ebp - 0x264]
add eax, esi
push eax
push edi
push esi
call edx
mov eax, 0x66666667
sub esp, 8
imul dword [ebp - 0x1c]
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd qword [ebp - 0x260], xmm0
fld qword [ebp - 0x260]
fstp qword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_round
mov ecx, dword [ebp - 0x230]
add esp, 8
fstp qword [ebp - 0x260]
cvttsd2si eax, qword [ebp - 0x260]
cmp ecx, eax
jg 0x10098c3f
cmp byte [ebp - 0x1ed], 0
jne 0x10098c3f
mov edx, ecx
lea ecx, [ebp - 0x24c]
call fcn.100358d0
push 2
push eax
mov eax, dword [ebp - 0x214]
mov ecx, 0x10156b34
movzx eax, al
shl eax, 0x18
or eax, 0xffffff
mov dword [ebp - 4], 0x28
push eax
cvttss2si eax, dword [ebp - 0x264]
push dword [ebp - 0x234]
add eax, dword [ebp - 0x224]
push eax
call fcn.1008dd00
lea ecx, [ebp - 0x24c]
mov dword [ebp - 4], 0xffffffff
call fcn.100208a0
mov edi, dword [ebp - 0x1f8]
mov esi, dword [ebp - 0x44]
add edi, 6
mov dword [ebp - 0x1f8], edi
jmp 0x10098c59
mov edi, dword [ebp - 0x1f8]
mov eax, dword [0x100c0a60]
test eax, eax
jne 0x10098f6e
mov eax, dword [0x10153e94]
mov ecx, esi
call eax
test eax, eax
je 0x10098e4f
mov edx, dword [0x10153e98]
mov ecx, eax
call edx
test eax, eax
je 0x10098e4f
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
mov ecx, eax
call edx
mov ecx, dword [0x10153d40]
push eax
mov edx, dword [ecx]
mov edx, dword [edx + 0x30]
call edx
mov edx, eax
mov dword [ebp - 0x68], 0
mov ecx, edx
mov dword [ebp - 0x64], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x78], xmm0
lea esi, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10098cc0
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x78]
call fcn.10047e90
mov dword [ebp - 4], 0x29
xorps xmm0, xmm0
movups xmmword [ebp - 0x60], xmm0
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0xf
mov byte [ebp - 0x60], 0
mov byte [ebp - 4], 0x2a
mov edx, dword [ebp - 0x68]
test edx, edx
jne 0x10098d20
movups xmmword [ebp - 0x90], xmm0
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x7c], 0xf
mov byte [ebp - 0x90], dl
jmp 0x10098de4
cmp dword [ebp - 0x64], 8
lea eax, [ebp - 0x78]
mov ecx, dword [0x100ccdec]
cmovae eax, dword [ebp - 0x78]
push 0
push 0
push 0
push 0
push edx
push eax
push 0
push 0xfde9
call ecx
mov esi, eax
lea ecx, [ebp - 0x40]
push 0
push esi
call fcn.10039d20
push eax
lea ecx, [ebp - 0x60]
call fcn.10039ca0
mov ecx, dword [ebp - 0x2c]
cmp ecx, 0x10
jb 0x10098d8e
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10098d84
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10098e29
push ecx
push edx
call fcn.1009d0b5
add esp, 8
cmp dword [ebp - 0x4c], 0x10
lea ecx, [ebp - 0x60]
mov edx, dword [0x100ccdec]
lea eax, [ebp - 0x78]
cmovae ecx, dword [ebp - 0x60]
cmp dword [ebp - 0x64], 8
push 0
cmovae eax, dword [ebp - 0x78]
push 0
push esi
push ecx
push dword [ebp - 0x68]
mov dword [ebp - 0x30], 0
push eax
push 0
push 0xfde9
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
call edx
movups xmm0, xmmword [ebp - 0x60]
movups xmmword [ebp - 0x90], xmm0
movq xmm0, qword [ebp - 0x50]
movq qword [ebp - 0x80], xmm0
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x64]
mov byte [ebp - 0x60], 0
mov dword [ebp - 0x4c], 0xf
mov dword [ebp - 0x50], 0
cmp ecx, 8
jb 0x10098e39
mov edx, dword [ebp - 0x78]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x10098e2f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10098e2f
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1009d0b5
add esp, 8
xor eax, eax
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 7
mov word [ebp - 0x78], ax
jmp 0x10098e79
push 5
xorps xmm0, xmm0
mov dword [ebp - 0x80], 0
push str.error
lea ecx, [ebp - 0x90]
mov dword [ebp - 0x7c], 0
movups xmmword [ebp - 0x90], xmm0
call fcn.10021340
mov dword [ebp - 4], 0x2b
lea ecx, [ebp - 0x90]
cmp dword [ebp - 0x7c], 0x10
lea edi, [ebp - 0x90]
mov edx, dword [ebp - 0x90]
lea esi, [ebp - 0x90]
mov eax, dword [ebp - 0x80]
cmovae ecx, edx
cmovae edi, edx
add eax, ecx
cmp dword [ebp - 0x7c], 0x10
mov dword [ebp - 0x258], eax
cmovae esi, edx
cmp esi, eax
je 0x10098ed9
sub edi, esi
nop word [eax + eax]
movsx eax, byte [esi]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_toupper]
mov byte [edi + esi], al
add esp, 4
inc esi
cmp esi, dword [ebp - 0x258]
jne 0x10098ec0
mov eax, dword [ebp - 0x214]
mov ecx, 0x10156b34
mov edx, dword [ebp - 0x1f8]
add edx, dword [ebp - 0x220]
add edx, dword [ebp - 0x218]
mov byte [ebp - 0x1f9], al
lea eax, [ebp - 0x90]
push 2
push eax
mov eax, dword [ebp - 0x21c]
mov word [ebp - 0x1fc], 0xffff
mov byte [ebp - 0x1fa], 0xff
push dword [ebp - 0x1fc]
push edx
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x224]
push eax
call fcn.1008dd00
mov ecx, dword [ebp - 0x7c]
cmp ecx, 0x10
jb 0x10099258
mov edx, dword [ebp - 0x90]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1009924e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1009924e
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
cmp eax, 1
jne 0x10099258
mov eax, dword [0x10154068]
inc edi
add eax, 0xffffff93
xor eax, 0xccb3e731
mov eax, dword [eax + esi]
cmp eax, 0x1f4
jg 0x1009914d
je 0x10099146
dec eax
cmp eax, 0x3f
ja case.0x10099157.510
movzx eax, byte [eax + 0x10099328]
jmp dword [eax*4 + 0x10099278]
mov ecx, 0x100ad0a4
jmp 0x1009919b
mov ecx, 0x100b0b8c
jmp 0x1009919b
mov ecx, 0x100b0d08
jmp 0x1009919b
mov ecx, str.CBDJKLMEFGHRSTUNOPQZI
jmp 0x1009919b
mov ecx, 0x100b0d0c
jmp 0x1009919b
mov ecx, 0x100b0d20
jmp 0x1009919b
mov ecx, 0x100b0d24
jmp 0x1009919b
mov ecx, 0x100b0d28
jmp 0x1009919b
mov ecx, 0x100b0d2c
jmp 0x1009919b
mov ecx, 0x100b0d10
jmp 0x1009919b
mov ecx, 0x100b0d14
jmp 0x1009919b
mov ecx, 0x100b0d18
jmp 0x1009919b
mov ecx, 0x100b0d1c
jmp 0x1009919b
mov ecx, 0x100b0d40
jmp 0x1009919b
mov ecx, 0x100b0d44
jmp 0x1009919b
mov ecx, 0x100b0d48
jmp 0x1009919b
mov ecx, 0x100b0d4c
jmp 0x1009919b
mov ecx, 0x100b0d30
jmp 0x1009919b
mov ecx, 0x100b0d34
jmp 0x1009919b
mov ecx, 0x100b0d38
jmp 0x1009919b
mov ecx, 0x100b0d3c
jmp 0x1009919b
mov ecx, str.VWXY
jmp 0x1009919b
mov ecx, 0x100b0d94
jmp 0x1009919b
mov ecx, 0x100b0d98
jmp 0x1009919b
mov ecx, 0x100b0d9c
jmp 0x1009919b
mov ecx, 0x100b0d50
jmp 0x1009919b
mov ecx, 0x100ad0ac
jmp 0x1009919b
mov ecx, 0x100ad0a8
jmp 0x1009919b
mov ecx, 0x100ad0b4
jmp 0x1009919b
mov ecx, 0x100ad0b0
jmp 0x1009919b
mov ecx, 0x100ad0bc
jmp 0x1009919b
mov ecx, 0x100ad0b8
jmp 0x1009919b
mov ecx, 0x100ad0c4
jmp 0x1009919b
mov ecx, 0x100ad0c0
jmp 0x1009919b
mov ecx, 0x100ad0cc
jmp 0x1009919b
mov ecx, 0x100ad0c8
jmp 0x1009919b
mov ecx, 0x100ad0d4
jmp 0x1009919b
mov ecx, 0x100ad0d0
jmp 0x1009919b
mov ecx, 0x100ad0dc
jmp 0x1009919b
mov ecx, 0x100ad0d8
jmp 0x1009919b
mov ecx, 0x100ad0e0
jmp 0x1009919b
mov ecx, 0x100b0d54
jmp 0x1009919b
mov ecx, str.1870_32546_badcfehgjilknmo
jmp 0x1009919b
sub eax, 0x1f9
cmp eax, 0xb
ja case.0x10099157.510
jmp dword [eax*4 + 0x10099368]
mov ecx, 0x100ad084
jmp 0x1009919b
mov ecx, 0x100ad080
jmp 0x1009919b
mov ecx, 0x100ad088
jmp 0x1009919b
mov ecx, 0x100ad094
jmp 0x1009919b
mov ecx, 0x100ad090
jmp 0x1009919b
mov ecx, 0x100ad09c
jmp 0x1009919b
mov ecx, 0x100ad098
jmp 0x1009919b
mov ecx, 0x100ad0a0
jmp 0x1009919b
mov ecx, 0x100ad08c
mov edx, ecx
mov dword [ebp - 0x30], 0
xorps xmm0, xmm0
mov dword [ebp - 0x2c], 0
movups xmmword [ebp - 0x40], xmm0
lea esi, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x100991b5
sub edx, esi
push edx
push ecx
lea ecx, [ebp - 0x40]
call fcn.10021340
mov eax, dword [ebp - 0x214]
mov ecx, 0x10156ba0
mov byte [ebp - 0x1f9], al
lea eax, [ebp - 0x40]
push 2
push eax
mov dword [ebp - 4], 0x2c
mov eax, dword [ebp - 0x220]
add eax, edi
mov word [ebp - 0x1fc], 0xffff
add eax, dword [ebp - 0x218]
mov byte [ebp - 0x1fa], 0xff
push dword [ebp - 0x1fc]
push eax
mov eax, dword [ebp - 0x21c]
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x224]
push eax
call fcn.1008dd00
mov ecx, dword [ebp - 0x2c]
cmp ecx, 0x10
jb 0x10099258
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1009924e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1009924e
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1009d0b5
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.1009cb56
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4