Function at 0x100969e0
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 0x100a7059
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x288
mov eax, dword [0x100bc00c]
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 [0x10153c88]
mov edx, dword [0x10153e8c]
add edx, 0xffffffd6
mov dword [ebp - 0x204], eax
mov eax, dword [0x10159470]
xor edx, 0xc528b54c
movss xmm0, dword [ecx + 0x14]
mulss xmm0, dword [0x100b0ff0]
mov ecx, dword [esi + edx]
movss dword [ebp - 0x18], xmm0
cmp ecx, dword [edx + eax]
je 0x10096a8d
mov byte [ebp - 0x1ed], 1
jmp 0x10096aa3
mov ecx, dword [0x10153d24]
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 [0x100c23bc], 0
mov dl, al
mov dh, byte [ebp - 0x1ed]
je 0x10096ae5
test dh, dh
je 0x10096ae5
test dl, dl
jne 0x10096af8
mov eax, dword [0x10153f34]
add eax, 0xffffffac
xor eax, 0xc528b576
mov byte [eax + esi], 1
mov eax, dword [ebp - 0x204]
mov byte [eax + 0x1015705f], 1
jmp 0x10096b0b
test dl, dl
jne 0x10096af8
mov eax, dword [ebp - 0x204]
mov byte [eax + 0x1015705f], 1
jmp 0x10096b0b
mov eax, dword [ebp - 0x204]
cmp byte [eax + 0x1015705f], 0
je 0x10098f0b
mov ecx, dword [ebp - 0x204]
movss xmm0, dword [ecx*4 + 0x1015709c]
lea eax, [ecx*4 + 0x1015709c]
test dl, dl
je 0x10096b2c
subss xmm0, dword [ebp - 0x18]
jmp 0x10096b31
addss xmm0, dword [ebp - 0x18]
movss dword [eax], xmm0
test dh, dh
je 0x10096b46
cmp byte [0x100c0288], 0
je 0x10096b46
mov dh, 1
jmp 0x10096b48
xor dh, dh
movss xmm0, dword [eax]
lea ecx, [ebp - 0x294]
comiss xmm0, dword [0x100b0f78]
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 + 0x1015709c]
movss dword [ecx], xmm1
lahf
test ah, 0x44
jp 0x10096ba3
test dh, dh
je 0x10098f0b
mov ecx, dword [0x10153f10]
mov eax, dword [0x10153c88]
add ecx, 0xffffffb5
xor ecx, 0xc528b56d
movss xmm2, dword [eax + 0x10]
subss xmm2, dword [ecx + esi]
test dl, dl
je 0x10096bd2
comiss xmm2, dword [0x100b1050]
ja 0x10098f0b
cmp byte [ebp - 0x1ed], 0
movaps xmm0, xmm1
mulss xmm1, dword [0x100b1108]
mulss xmm0, dword [0x100b1120]
cvttss2si eax, xmm1
cvttss2si ecx, xmm0
mov dword [ebp - 0x1f4], eax
mov eax, dword [0x100c0214]
cmovne eax, dword [0x100c0184]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x214], ecx
test dl, dl
je 0x10096c7c
test dh, dh
je 0x10096c7c
movss xmm0, dword [0x100b1030]
mov ecx, 0x70
comiss xmm2, xmm0
mov dword [ebp - 0x214], ecx
mov dword [ebp - 0x1f4], 0x50
jbe 0x10096c7c
subss xmm2, xmm0
movss xmm0, dword [0x100b10d4]
movaps xmm1, xmm2
mulss xmm2, dword [0x100b1028]
mulss xmm1, dword [0x100b1034]
subss xmm0, xmm1
cvttss2si ecx, xmm0
movss xmm0, dword [0x100b10b8]
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 [0x10153c2c]
push edx
push dword [ebp - 0x204]
mov eax, dword [ecx]
mov eax, dword [eax + 0x20]
call eax
test al, al
je 0x10098f0b
push dword [ebp - 0x214]
push esi
call fcn.10096300
lea eax, [ebp - 0x224]
push eax
push esi
call fcn.10099680
test al, al
je 0x10098f0b
cmp byte [ebp - 0x1ed], 0
lea edx, [ebp - 0x1c]
push dword [0x100c0c78]
lea ecx, [ebp - 0x20c]
push dword [0x100c0c74]
je 0x10096cfb
mov dword [ebp - 0x1c], 0
call fcn.10020f80
add esp, 8
mov eax, dword [eax]
cmp eax, dword [0x100c0c78]
jne 0x10096d14
jmp 0x10096d24
mov dword [ebp - 0x1c], 1
call fcn.10020f80
add esp, 8
mov eax, dword [eax]
cmp eax, dword [0x100c0c78]
je 0x10096d54
push ecx
push esi
call fcn.10099950
cmp byte [ebp - 0x1ed], 0
je 0x10096d54
push dword [0x100c00f0]
lea edx, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0
push dword [0x100c00ec]
lea ecx, [ebp - 0x20c]
call fcn.10020f80
add esp, 8
mov eax, dword [eax]
cmp eax, dword [0x100c00f0]
jne 0x10096d82
jmp 0x10096dc3
push dword [0x100c00f0]
lea edx, [ebp - 0x1c]
mov dword [ebp - 0x1c], 1
push dword [0x100c00ec]
lea ecx, [ebp - 0x20c]
call fcn.10020f80
add esp, 8
mov eax, dword [eax]
cmp eax, dword [0x100c00f0]
je 0x10096df6
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.1008d670
add esp, 0x10
cmp byte [ebp - 0x1ed], 0
je 0x10096df6
push dword [0x100c05d0]
lea edx, [ebp - 0x18]
mov dword [ebp - 0x18], 0
push dword [0x100c05cc]
lea ecx, [ebp - 0x20c]
call fcn.10020f80
add esp, 8
mov eax, dword [eax]
cmp eax, dword [0x100c05d0]
jne 0x10096e28
jmp 0x10096f2e
push dword [0x100c05d0]
lea edx, [ebp - 0x18]
mov dword [ebp - 0x18], 1
push dword [0x100c05cc]
lea ecx, [ebp - 0x20c]
call fcn.10020f80
add esp, 8
mov eax, dword [eax]
cmp eax, dword [0x100c05d0]
je 0x10096f61
lea eax, [ebp - 0x1d8]
push eax
lea ecx, [ebp - 0x24c]
call fcn.10020910
push 0x18
push 0
lea ecx, [ebp - 0x78]
mov dword [ebp - 4], 0
push ecx
mov ecx, eax
call fcn.100402c0
lea ecx, [ebp - 0x24c]
mov byte [ebp - 4], 2
call fcn.100208c0
cmp dword [0x100c004c], 0
lea ecx, [ebp - 0x20c]
movd xmm3, dword [ebp - 0x1f4]
mov edx, esi
mov eax, dword [0x100c0664]
cvtdq2ps xmm3, xmm3
push eax
jne 0x10096ec1
call fcn.10096960
movzx ecx, byte [0x100c0667]
add esp, 4
movd xmm2, ecx
lea ecx, [ebp - 0x1ec]
cvtdq2ps xmm2, xmm2
push ecx
mov ecx, eax
call fcn.100928a0
mov ecx, dword [ebp - 0x220]
lea edx, [ebp - 0x78]
sub ecx, dword [0x10156acc]
push 2
push edx
push dword [eax]
push ecx
mov ecx, 0x10156ac4
jmp 0x10096eff
call fcn.10096960
movzx ecx, byte [0x100c0667]
add esp, 4
movd xmm2, ecx
lea ecx, [ebp - 0x1ec]
cvtdq2ps xmm2, xmm2
push ecx
mov ecx, eax
call fcn.100928a0
mov ecx, dword [ebp - 0x220]
lea edx, [ebp - 0x78]
sub ecx, dword [0x10156acc]
push 2
push edx
push dword [eax]
push ecx
mov ecx, 0x10156a7c
mov eax, dword [ebp - 0x21c]
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x224]
push eax
call fcn.1008d940
lea ecx, [ebp - 0x78]
mov dword [ebp - 4], 0xffffffff
call fcn.100208c0
cmp byte [ebp - 0x1ed], 0
je 0x10096f61
push dword [0x100c0708]
lea edx, [ebp - 0x18]
mov dword [ebp - 0x18], 0
push dword [0x100c0704]
lea ecx, [ebp - 0x20c]
call fcn.10020f80
add esp, 8
mov eax, dword [eax]
cmp eax, dword [0x100c0708]
jne 0x10096f93
jmp 0x1009712e
push dword [0x100c0708]
lea edx, [ebp - 0x18]
mov dword [ebp - 0x18], 1
push dword [0x100c0704]
lea ecx, [ebp - 0x20c]
call fcn.10020f80
add esp, 8
mov eax, dword [eax]
cmp eax, dword [0x100c0708]
je 0x1009712e
mov ecx, dword [0x10153ed0]
lea eax, [ebp - 0x298]
mov esi, dword [ebp - 0x218]
add ecx, 0xffffffc5
xor ecx, 0xc528b55d
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 [0x100b0ea8]
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.1008d630
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.1008d5f0
mov eax, dword [ebp - 0x1c]
add esp, 0xc
cmp eax, 0x5d
jge 0x1009712e
mov edx, eax
lea ecx, [ebp - 0x24c]
call fcn.10035870
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, 0x10156aa0
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.1008d940
lea ecx, [ebp - 0x24c]
call fcn.100208c0
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 0x1009719b
push 0x100c07ac
lea ecx, [ebp - 0x260]
call fcn.100270a0
mov ecx, dword [ebp - 0x1f8]
or ecx, 0x80
or ecx, 1
lea eax, [ebp - 0x260]
mov dword [ebp - 0x1f8], ecx
jmp 0x100971b2
push 0x100c0854
lea ecx, [ebp - 0x54]
call fcn.100270a0
or dword [ebp - 0x1f8], 0x42
lea eax, [ebp - 0x54]
push eax
lea ecx, [ebp - 0x6c]
call fcn.1009b4a0
mov dword [ebp - 4], 6
mov eax, dword [ebp - 0x1f8]
test al, 2
je 0x100971e3
and eax, 0xfffffffd
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x1f8], eax
call fcn.1001fec0
mov eax, dword [ebp - 0x1f8]
mov byte [ebp - 4], 7
test al, 1
je 0x100971ff
and eax, 0xfffffffe
lea ecx, [ebp - 0x260]
mov dword [ebp - 0x1f8], eax
call fcn.1001fec0
xorps xmm0, xmm0
mov dword [ebp - 0x4c], 0
push 0x100bd8ec
lea ecx, [ebp - 0x54]
movq qword [ebp - 0x54], xmm0
call fcn.100270a0
or dword [ebp - 0x1f8], 0x20
mov byte [ebp - 4], 8
imul eax, dword [ebp - 0x204], 0x2100
mov esi, dword [ebp - 0x54]
lea eax, [eax + 0x100cad80]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x50]
cmp esi, eax
je 0x100974f9
mov edi, dword [ebp - 0x18]
mov cl, byte [ebp - 0x1ed]
test cl, cl
je 0x100974e8
cmp dword [esi], 0
jne 0x10097361
test edi, edi
je 0x10097361
cmp dword [edi + 0x24], 0
je 0x10097361
lea ecx, [edi + 0x14]
call fcn.1001ffd0
mov eax, dword [eax]
test eax, eax
je 0x10097361
cmp byte [eax + 0x1c], 0
jne 0x10097361
movss xmm1, dword [eax + 0x78]
movss xmm0, dword [eax + 0xac]
call fcn.10086490
call fcn.10019f60
movss xmm1, dword [0x100b107c]
lea ecx, [ebp - 0x40]
comiss xmm1, xmm0
push 0x100b0d24
jb 0x100972fc
call fcn.10020910
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.1009b750
mov byte [ebp - 4], 0xa
jmp 0x1009733b
call fcn.10020910
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.1009b750
mov byte [ebp - 4], 0xc
lea eax, [ebp - 0x290]
push eax
lea ecx, [ebp - 0x28]
call fcn.1009b3c0
lea ecx, [ebp - 0x290]
call fcn.100208c0
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 8
call fcn.100208c0
cmp dword [esi], 1
jne 0x10097442
test edi, edi
je 0x10097442
cmp dword [edi + 0x24], 0
je 0x10097442
lea ecx, [edi + 0x14]
call fcn.1001ffd0
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x10097442
cmp byte [eax + 0x1c], 0
jne 0x10097442
cmp dword [edi + 0x24], 2
jb 0x10097442
push 1
call fcn.1001fff0
mov eax, dword [eax]
test eax, eax
je 0x10097442
cmp byte [eax + 0x1c], 0
jne 0x10097442
mov ecx, dword [ebp - 0x1c]
cmp byte [ecx + 0x70d], 0
je 0x10097442
cmp byte [eax + 0x70d], 0
je 0x10097442
push str.RETARD
lea ecx, [ebp - 0x40]
call fcn.10020910
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.1009b750
lea eax, [ebp - 0x290]
mov byte [ebp - 4], 0xe
push eax
lea ecx, [ebp - 0x28]
call fcn.1009b3c0
lea ecx, [ebp - 0x290]
call fcn.100208c0
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 8
call fcn.100208c0
cmp dword [esi], 2
jne 0x100974df
test edi, edi
je 0x100974df
cmp dword [edi + 0x24], 0
je 0x100974df
lea ecx, [edi + 0x14]
call fcn.1001ffd0
mov edx, dword [eax]
test edx, edx
je 0x100974df
cmp byte [edx + 0x1c], 0
jne 0x100974df
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 [0x100b1184]
cmova ecx, eax
comiss xmm0, dword [edx + 0x20]
mov dword [ebp - 0x1c], ecx
jbe 0x100974df
cmp dword [edx + 0x10], 2
jg 0x100974df
lea eax, [ebp - 0x1c]
push eax
push ecx
lea ecx, [ebp - 0x290]
call fcn.1009b780
lea eax, [ebp - 0x290]
mov byte [ebp - 4], 0xf
push eax
lea ecx, [ebp - 0x28]
call fcn.1009b3c0
lea ecx, [ebp - 0x290]
mov byte [ebp - 4], 8
call fcn.100208c0
mov cl, byte [ebp - 0x1ed]
mov eax, dword [ebp - 0x50]
add esi, 4
cmp esi, eax
jne 0x10097250
mov edi, dword [ebp - 0x1fc]
mov esi, dword [ebp - 0x6c]
cmp esi, dword [ebp - 0x68]
je 0x10098318
cmp dword [esi], 0
jne 0x1009762a
mov eax, dword [0x10153ed8]
lea ecx, [ebp - 0x40]
add eax, 0xffffffc3
mov edx, 0x100b0e00
xor eax, 0xc528b55f
add eax, dword [ebp - 0x200]
push eax
call fcn.100763d0
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.100271f0
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 0x100975a2
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 0x100975b8
lea eax, [ebp - 0x250]
push eax
push ecx
lea ecx, [ebp - 0x28]
call fcn.10072ce0
mov edx, dword [ebp - 0x23c]
mov byte [ebp - 4], 0x10
cmp edx, 0x10
jb 0x100975f2
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x250]
mov eax, edx
cmp ecx, 0x1000
jb 0x100975e8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009848e
push ecx
push edx
call fcn.1009cd75
add esp, 8
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x2c]
cmp ecx, 0x10
jb 0x1009762a
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10097620
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009848e
push ecx
push edx
call fcn.1009cd75
add esp, 8
cmp dword [esi], 1
mov ecx, dword [ebp - 0x200]
jne 0x10097924
mov eax, dword [0x10153f20]
add eax, 0xffffffb1
xor eax, 0xc528b571
cmp byte [eax + ecx], 0
mov eax, dword [0x10153f3c]
je 0x1009789f
add eax, 0xffffffaa
mov dword [ebp - 0x30], 0
xor eax, 0xc528b578
mov dword [ebp - 0x2c], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x40], xmm0
cmp dword [eax + ecx], 0
lea ecx, [ebp - 0x40]
jle 0x1009778f
push 2
push 0x100b0e04
call fcn.10021350
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.100271f0
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 0x100976fe
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 0x10097714
lea eax, [ebp - 0x250]
push eax
push ecx
lea ecx, [ebp - 0x28]
call fcn.10072ce0
mov edx, dword [ebp - 0x23c]
mov byte [ebp - 4], 0x12
cmp edx, 0x10
jb 0x1009774e
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x250]
mov eax, edx
cmp ecx, 0x1000
jb 0x10097744
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009848e
push ecx
push edx
call fcn.1009cd75
add esp, 8
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x2c]
cmp ecx, 0x10
jb 0x1009791e
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10097780
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009848e
push ecx
push edx
call fcn.1009cd75
add esp, 8
jmp 0x1009791e
push 1
push 0x100b0cb4
call fcn.10021350
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.100271f0
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 0x1009780e
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 0x10097824
lea eax, [ebp - 0x250]
push eax
push ecx
lea ecx, [ebp - 0x28]
call fcn.10072ce0
mov edx, dword [ebp - 0x23c]
mov byte [ebp - 4], 0x14
cmp edx, 0x10
jb 0x1009785e
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x250]
mov eax, edx
cmp ecx, 0x1000
jb 0x10097854
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009848e
push ecx
push edx
call fcn.1009cd75
add esp, 8
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x2c]
cmp ecx, 0x10
jb 0x1009791e
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10097890
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009848e
push ecx
push edx
call fcn.1009cd75
add esp, 8
jmp 0x1009791e
add eax, 0xffffffaa
xor eax, 0xc528b578
cmp dword [eax + ecx], 0
jle 0x10097924
push 0x100b0cbc
lea ecx, [ebp - 0x40]
call fcn.10020910
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.1009b750
lea eax, [ebp - 0x290]
mov byte [ebp - 4], 0x17
push eax
lea ecx, [ebp - 0x28]
call fcn.1009b3c0
lea ecx, [ebp - 0x290]
call fcn.100208c0
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 8
call fcn.100208c0
mov ecx, dword [ebp - 0x200]
cmp dword [esi], 2
jne 0x10097a63
mov eax, dword [0x10153f2c]
add eax, 0xffffffae
xor eax, 0xc528b574
cmp byte [eax + ecx], 0
je 0x10097a63
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.10021350
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.100271f0
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 0x100979db
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 0x100979f1
lea eax, [ebp - 0x250]
push eax
push ecx
lea ecx, [ebp - 0x28]
call fcn.10072ce0
mov edx, dword [ebp - 0x23c]
mov byte [ebp - 4], 0x18
cmp edx, 0x10
jb 0x10097a2b
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x250]
mov eax, edx
cmp ecx, 0x1000
jb 0x10097a21
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009848e
push ecx
push edx
call fcn.1009cd75
add esp, 8
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x2c]
cmp ecx, 0x10
jb 0x10097a63
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10097a59
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009848e
push ecx
push edx
call fcn.1009cd75
add esp, 8
cmp dword [esi], 3
xorps xmm1, xmm1
mov edx, dword [ebp - 0x200]
jne 0x10097bb8
mov eax, dword [0x10153f4c]
add eax, 0xffffffa6
xor eax, 0xc528b57c
movss xmm0, dword [eax + edx]
comiss xmm0, xmm1
jbe 0x10097bb8
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.10021350
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.100271f0
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 0x10097b27
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 0x10097b3d
lea eax, [ebp - 0x250]
push eax
push ecx
lea ecx, [ebp - 0x28]
call fcn.10072ce0
mov edx, dword [ebp - 0x23c]
mov byte [ebp - 4], 0x1a
cmp edx, 0x10
jb 0x10097b77
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x250]
mov eax, edx
cmp ecx, 0x1000
jb 0x10097b6d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009848e
push ecx
push edx
call fcn.1009cd75
add esp, 8
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x2c]
cmp ecx, 0x10
jb 0x10097baf
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10097ba5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009848e
push ecx
push edx
call fcn.1009cd75
add esp, 8
mov edx, dword [ebp - 0x200]
xorps xmm1, xmm1
cmp dword [esi], 4
jne 0x10097d40
mov eax, dword [0x10153df8]
mov ecx, dword [edx + eax]
movss xmm0, dword [ecx + 0x58]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x10097d40
mov eax, dword [ecx + 0x50]
mov ecx, dword [0x10153da8]
mov dword [ebp - 0x44], ecx
mov ecx, dword [0x10153e18]
mov dword [ebp - 0x48], eax
cmp dword [edx + ecx], 0
jne 0x10097c08
mov eax, dword [0x10153d84]
mov ecx, edx
call eax
mov ecx, dword [0x10153e18]
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 0x10097d40
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.10021350
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.100271f0
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 0x10097cb8
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 0x10097cce
lea eax, [ebp - 0x250]
push eax
push ecx
lea ecx, [ebp - 0x28]
call fcn.10072ce0
mov edx, dword [ebp - 0x23c]
mov byte [ebp - 4], 0x1c
cmp edx, 0x10
jb 0x10097d08
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x250]
mov eax, edx
cmp ecx, 0x1000
jb 0x10097cfe
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009848e
push ecx
push edx
call fcn.1009cd75
add esp, 8
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x2c]
cmp ecx, 0x10
jb 0x10097d40
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10097d36
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009848e
push ecx
push edx
call fcn.1009cd75
add esp, 8
cmp dword [esi], 5
jne 0x10097e7d
mov eax, dword [0x10153db4]
mov ecx, dword [ebp - 0x200]
call eax
test al, al
je 0x10097e7d
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.10021350
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.100271f0
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 0x10097df5
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 0x10097e0b
lea eax, [ebp - 0x250]
push eax
push ecx
lea ecx, [ebp - 0x28]
call fcn.10072ce0
mov edx, dword [ebp - 0x23c]
mov byte [ebp - 4], 0x1e
cmp edx, 0x10
jb 0x10097e45
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x250]
mov eax, edx
cmp ecx, 0x1000
jb 0x10097e3b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009848e
push ecx
push edx
call fcn.1009cd75
add esp, 8
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x2c]
cmp ecx, 0x10
jb 0x10097e7d
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10097e73
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009848e
push ecx
push edx
call fcn.1009cd75
add esp, 8
cmp dword [esi], 6
jne 0x10097f66
cmp byte [ebp - 0x1ed], 0
je 0x10097f66
mov ecx, dword [0x10153c30]
mov eax, dword [0x10153f80]
add eax, 0xffffff99
mov dword [ebp - 0x44], ecx
xor eax, 0xc528b589
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 0x10097f66
mov ecx, dword [0x10153f98]
add ecx, 0xffffff93
xor ecx, 0xc528b58f
cmp dword [ecx + eax], 0x1f
jne 0x10097f66
push str.ZEUS
lea ecx, [ebp - 0x40]
call fcn.10020910
mov byte [ebp - 4], 0x20
mov eax, dword [0x100cc7a4]
movzx ecx, ah
movzx edx, al
movzx eax, byte [0x100cc7a6]
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.1009b750
lea eax, [ebp - 0x290]
mov byte [ebp - 4], 0x21
push eax
lea ecx, [ebp - 0x28]
call fcn.1009b3c0
lea ecx, [ebp - 0x290]
call fcn.100208c0
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 8
call fcn.100208c0
cmp dword [esi], 7
jne 0x1009805a
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x1009805a
cmp dword [eax + 0x24], 0
je 0x1009805a
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 0x1009805a
cmp byte [eax + 0x1c], 0
jne 0x1009805a
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 [0x100b114c]
jbe 0x1009805a
push 0x100b0d20
lea ecx, [ebp - 0x40]
call fcn.10020910
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.1009b750
lea eax, [ebp - 0x290]
mov byte [ebp - 4], 0x23
push eax
lea ecx, [ebp - 0x28]
call fcn.1009b3c0
lea ecx, [ebp - 0x290]
call fcn.100208c0
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 8
call fcn.100208c0
cmp dword [esi], 8
jne 0x1009830c
mov eax, dword [0x1015e590]
test eax, eax
je 0x1009830c
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 [0x1015e70c]
mov dword [ebp - 0x20c], eax
test cl, 1
jne 0x100980df
or ecx, 1
mov dword [0x1015e70c], ecx
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x24
push eax
mov ecx, 0x1015e5b8
mov dword [ebp - 0x48], 0x5fa2671c
mov dword [ebp - 0x44], 0x38d4fdc3
call fcn.1003f3e0
lea ecx, [ebp - 0x48]
push ecx
mov ecx, eax
call fcn.1003f3c0
push 0x100a7e80
mov eax, dword [eax + 8]
mov dword [0x1015e708], eax
call fcn.1009cd5b
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 [0x1015e708]
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 [0x100b1120]
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 [0x100b0f2c]
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.10035870
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 0x100981db
cmp dword [ecx + 0x14], 0x10
lea eax, [edx + 2]
mov dword [ecx + 0x10], eax
mov eax, ecx
jb 0x100981c5
mov eax, dword [ecx]
mov edi, 0x736d
mov word [eax + edx], di
mov edi, dword [ebp - 0x1fc]
mov byte [eax + edx + 2], 0
jmp 0x100981f8
push 2
push 0x100b0e2c
mov byte [ebp - 0x258], 0
push dword [ebp - 0x258]
push 2
call fcn.100345a0
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 0x1009827e
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 0x10098294
lea eax, [ebp - 0x290]
push eax
push ecx
lea ecx, [ebp - 0x28]
call fcn.10072ce0
mov edx, dword [ebp - 0x27c]
mov byte [ebp - 4], 0x26
cmp edx, 0x10
jb 0x100982ce
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x290]
mov eax, edx
cmp ecx, 0x1000
jb 0x100982c4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009848e
push ecx
push edx
call fcn.1009cd75
add esp, 8
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x238]
cmp ecx, 0x10
jb 0x1009830c
mov edx, dword [ebp - 0x24c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10098302
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009848e
push ecx
push edx
call fcn.1009cd75
add esp, 8
add esi, 4
cmp esi, dword [ebp - 0x68]
jne 0x10097505
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 0x100983ae
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 [0x10156aa8]
dec eax
push 0
imul eax, edi
push ecx
push dword [ecx + 0x18]
mov ecx, 0x10156aa0
add eax, dword [ebp - 0x220]
push eax
push edx
call fcn.1008d940
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 0x10098357
mov edi, dword [ebp - 0x1fc]
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0x54]
test edx, edx
je 0x100983f3
mov eax, dword [ebp - 0x4c]
sub eax, edx
sar eax, 2
lea ecx, [eax*4]
mov eax, edx
cmp ecx, 0x1000
jb 0x100983e6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009848e
push ecx
push edx
call fcn.1009cd75
mov esi, dword [ebp - 0x28]
add esp, 8
mov byte [ebp - 4], 4
mov edx, dword [ebp - 0x6c]
test edx, edx
je 0x10098434
mov eax, dword [ebp - 0x64]
sub eax, edx
sar eax, 2
lea ecx, [eax*4]
mov eax, edx
cmp ecx, 0x1000
jb 0x10098427
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009848e
push ecx
push edx
call fcn.1009cd75
mov esi, dword [ebp - 0x28]
add esp, 8
mov dword [ebp - 4], 0xffffffff
test esi, esi
je 0x1009849e
mov edx, dword [ebp - 0x24]
push ecx
mov ecx, esi
call fcn.10072ae0
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 0x10098494
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10098494
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push esi
call fcn.1009cd75
add esp, 8
cmp byte [ebp - 0x1ed], 0
mov dword [ebp - 0x1f8], 0
je 0x10098651
cmp byte [0x100c0b30], 0
je 0x10098631
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x28]
call eax
dec eax
imul esi, eax, 0x2100
add esi, 0x100cce80
je 0x10098631
cmp byte [esi + 0x788], 0
je 0x10098631
cmp dword [esi + 0x24], 0
je 0x10098631
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 0x10098631
movss xmm1, dword [ecx + 0x54]
movss xmm0, dword [ecx + 0x50]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
call fcn.10019f90
movss xmm1, dword [0x100b0edc]
comiss xmm1, xmm0
jb 0x10098631
movss xmm0, dword [esi + 0x784]
ucomiss xmm0, dword [0x100b115c]
lahf
test ah, 0x44
jnp 0x10098631
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.10020f40
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 [0x100b0f6c]
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.1008d630
mov eax, dword [0x100c0bd4]
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.1008d5f0
add esp, 0xc
mov dword [ebp - 0x1f8], 5
push 0
push dword [0x100c0900]
push dword [0x100c08fc]
call fcn.1009c610
cmp eax, dword [0x100c0900]
jne 0x10098670
jmp 0x10098f0b
push 1
push dword [0x100c0900]
push dword [0x100c08fc]
call fcn.1009c610
cmp eax, dword [0x100c0900]
je 0x10098f0b
mov ecx, dword [0x10153c30]
mov eax, dword [0x10153f80]
mov edi, dword [ebp - 0x200]
add eax, 0xffffff99
push ecx
mov edx, dword [ecx]
xor eax, 0xc528b589
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 0x10098f0b
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x6f8]
call eax
test eax, eax
je 0x10098f0b
mov eax, dword [eax + 0x14]
xorps xmm1, xmm1
mov dword [ebp - 0x1c], eax
mov eax, dword [0x10153f9c]
add eax, 0xffffff92
xor eax, 0xc528b590
mov ecx, dword [eax + esi]
mov eax, dword [0x10153df8]
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 0x10098740
mov eax, dword [ecx + 0x50]
mov ecx, dword [0x10153da8]
mov dword [ebp - 0x20c], ecx
mov ecx, dword [0x10153e18]
mov dword [ebp - 0x258], eax
cmp dword [edi + ecx], 0
jne 0x1009872a
mov eax, dword [0x10153d84]
mov ecx, edi
call eax
mov ecx, dword [0x10153e18]
mov eax, dword [ebp - 0x258]
mov ecx, dword [edi + ecx]
mov edx, eax
call dword [ebp - 0x20c]
cmp eax, 0x3c7
jne 0x10098740
mov al, 1
jmp 0x10098742
xor al, al
mov ecx, dword [ebp - 0x1c]
mov byte [ebp - 0x1ed], al
cmp ecx, 0xffffffff
je 0x10098933
cmp byte [0x100c0a18], 0
je 0x10098933
test al, al
je 0x10098772
mov eax, dword [ebp - 0x1ec]
movss xmm1, dword [eax + 0x64]
jmp 0x10098788
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 [0x10153c38]
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 [0x10153c38]
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 [0x100c0abc]
add edi, 3
mov ecx, dword [0x10153c38]
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 [0x10153c38]
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 0x1009891f
cmp byte [ebp - 0x1ed], 0
jne 0x1009891f
mov edx, ecx
lea ecx, [ebp - 0x24c]
call fcn.10035870
push 2
push eax
mov eax, dword [ebp - 0x214]
mov ecx, 0x10156aa0
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.1008d940
lea ecx, [ebp - 0x24c]
mov dword [ebp - 4], 0xffffffff
call fcn.100208c0
mov edi, dword [ebp - 0x1f8]
mov esi, dword [ebp - 0x44]
add edi, 6
mov dword [ebp - 0x1f8], edi
jmp 0x10098939
mov edi, dword [ebp - 0x1f8]
mov eax, dword [0x100c09a4]
test eax, eax
jne 0x10098c1e
mov eax, dword [0x10153dcc]
mov ecx, esi
call eax
test eax, eax
je 0x10098aff
mov edx, dword [0x10153dd0]
mov ecx, eax
call edx
test eax, eax
je 0x10098aff
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
mov ecx, eax
call edx
mov ecx, dword [0x10153c78]
push eax
mov edx, dword [ecx]
mov edx, dword [edx + 0x30]
call edx
push eax
lea ecx, [ebp - 0x60]
call fcn.100723b0
mov dword [ebp - 4], 0x29
xorps xmm0, xmm0
movups xmmword [ebp - 0x78], xmm0
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0xf
mov byte [ebp - 0x78], 0
mov byte [ebp - 4], 0x2a
mov edx, dword [ebp - 0x50]
test edx, edx
jne 0x100989d0
movups xmmword [ebp - 0x90], xmm0
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x7c], 0xf
mov byte [ebp - 0x90], dl
jmp 0x10098a94
cmp dword [ebp - 0x4c], 8
lea eax, [ebp - 0x60]
mov ecx, dword [0x100ccd3c]
cmovae eax, dword [ebp - 0x60]
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.10039ce0
push eax
lea ecx, [ebp - 0x78]
call fcn.10039c60
mov ecx, dword [ebp - 0x2c]
cmp ecx, 0x10
jb 0x10098a3e
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10098a34
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10098ad9
push ecx
push edx
call fcn.1009cd75
add esp, 8
cmp dword [ebp - 0x64], 0x10
lea ecx, [ebp - 0x78]
mov edx, dword [0x100ccd3c]
lea eax, [ebp - 0x60]
cmovae ecx, dword [ebp - 0x78]
cmp dword [ebp - 0x4c], 8
push 0
cmovae eax, dword [ebp - 0x60]
push 0
push esi
push ecx
push dword [ebp - 0x50]
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 - 0x78]
movups xmmword [ebp - 0x90], xmm0
movq xmm0, qword [ebp - 0x68]
movq qword [ebp - 0x80], xmm0
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x4c]
mov byte [ebp - 0x78], 0
mov dword [ebp - 0x64], 0xf
mov dword [ebp - 0x68], 0
cmp ecx, 8
jb 0x10098ae9
mov edx, dword [ebp - 0x60]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x10098adf
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10098adf
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1009cd75
add esp, 8
xor eax, eax
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 7
mov word [ebp - 0x60], ax
jmp 0x10098b29
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.10021350
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 0x10098b89
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 0x10098b70
mov eax, dword [ebp - 0x214]
mov ecx, 0x10156aa0
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.1008d940
mov ecx, dword [ebp - 0x7c]
cmp ecx, 0x10
jb 0x10098f0b
mov edx, dword [ebp - 0x90]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10098f01
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10098f01
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
cmp eax, 1
jne 0x10098f0b
mov eax, dword [0x10153f98]
inc edi
add eax, 0xffffff93
xor eax, 0xc528b58f
mov eax, dword [eax + esi]
cmp eax, 0x1f4
jg 0x10098e00
je 0x10098df9
dec eax
cmp eax, 0x3f
ja case.0x10098e0a.510
movzx eax, byte [eax + 0x10098fdc]
jmp dword [eax*4 + 0x10098f2c]
mov ecx, 0x100ad098
jmp 0x10098e4e
mov ecx, 0x100b0b34
jmp 0x10098e4e
mov ecx, 0x100b0cb0
jmp 0x10098e4e
mov ecx, str.CBHJKLDEFGQRSTMNOPYZI
jmp 0x10098e4e
mov ecx, 0x100b0cc4
jmp 0x10098e4e
mov ecx, 0x100b0cc8
jmp 0x10098e4e
mov ecx, 0x100b0ccc
jmp 0x10098e4e
mov ecx, 0x100b0cd0
jmp 0x10098e4e
mov ecx, 0x100b0cb4
jmp 0x10098e4e
mov ecx, 0x100b0cb8
jmp 0x10098e4e
mov ecx, 0x100b0cbc
jmp 0x10098e4e
mov ecx, 0x100b0cc0
jmp 0x10098e4e
mov ecx, 0x100b0ce4
jmp 0x10098e4e
mov ecx, 0x100b0ce8
jmp 0x10098e4e
mov ecx, 0x100b0cec
jmp 0x10098e4e
mov ecx, 0x100b0cf0
jmp 0x10098e4e
mov ecx, 0x100b0cd4
jmp 0x10098e4e
mov ecx, 0x100b0cd8
jmp 0x10098e4e
mov ecx, 0x100b0cdc
jmp 0x10098e4e
mov ecx, 0x100b0ce0
jmp 0x10098e4e
mov ecx, str.UVWX
jmp 0x10098e4e
mov ecx, 0x100b0d14
jmp 0x10098e4e
mov ecx, 0x100b0d18
jmp 0x10098e4e
mov ecx, 0x100b0d1c
jmp 0x10098e4e
mov ecx, 0x100b0cf4
jmp 0x10098e4e
mov ecx, 0x100b0cf8
jmp 0x10098e4e
mov ecx, 0x100ad0a0
jmp 0x10098e4e
mov ecx, 0x100ad09c
jmp 0x10098e4e
mov ecx, 0x100ad0a8
jmp 0x10098e4e
mov ecx, 0x100ad0a4
jmp 0x10098e4e
mov ecx, 0x100ad0b0
jmp 0x10098e4e
mov ecx, 0x100ad0ac
jmp 0x10098e4e
mov ecx, 0x100ad0b8
jmp 0x10098e4e
mov ecx, 0x100ad0b4
jmp 0x10098e4e
mov ecx, 0x100ad0c0
jmp 0x10098e4e
mov ecx, 0x100ad0bc
jmp 0x10098e4e
mov ecx, 0x100ad0c8
jmp 0x10098e4e
mov ecx, 0x100ad0c4
jmp 0x10098e4e
mov ecx, 0x100ad0d0
jmp 0x10098e4e
mov ecx, 0x100ad0cc
jmp 0x10098e4e
mov ecx, 0x100ad0d4
jmp 0x10098e4e
mov ecx, 0x100b0cfc
jmp 0x10098e4e
mov ecx, str.1870_32546_badcfehgjilknmo
jmp 0x10098e4e
sub eax, 0x1f9
cmp eax, 0xb
ja case.0x10098e0a.510
jmp dword [eax*4 + 0x1009901c]
mov ecx, 0x100ad078
jmp 0x10098e4e
mov ecx, 0x100ad074
jmp 0x10098e4e
mov ecx, 0x100ad07c
jmp 0x10098e4e
mov ecx, 0x100ad088
jmp 0x10098e4e
mov ecx, 0x100ad084
jmp 0x10098e4e
mov ecx, 0x100ad090
jmp 0x10098e4e
mov ecx, 0x100ad08c
jmp 0x10098e4e
mov ecx, 0x100ad094
jmp 0x10098e4e
mov ecx, 0x100ad080
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 0x10098e68
sub edx, esi
push edx
push ecx
lea ecx, [ebp - 0x40]
call fcn.10021350
mov eax, dword [ebp - 0x214]
mov ecx, 0x10156b0c
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.1008d940
mov ecx, dword [ebp - 0x2c]
cmp ecx, 0x10
jb 0x10098f0b
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10098f01
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10098f01
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1009cd75
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.1009c816
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4