Function at 0x100dec80
Capabilities:
Contain obfuscated stackstrings

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 0x100eeecc
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x288
mov eax, dword [0x100ff040]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebx + 8]
mov dword [ebp - 0x1ec], eax
lea esi, [eax + 8]
mov eax, dword [esi]
mov ecx, esi
mov dword [ebp - 0x268], esi
mov eax, dword [eax + 0x28]
call eax
mov edx, dword [0x10141c30]
mov ecx, dword [0x10141a94]
add edx, 0xffffffd5
mov dword [ebp - 0x244], eax
xor edx, 0xd719436e
lea edi, [eax*4 + 0x10144ad4]
mov eax, dword [ebp - 0x1ec]
movss xmm0, dword [ecx + 0x14]
mulss xmm0, dword [0x100f3eac]
mov ecx, dword [eax + edx]
mov eax, dword [0x100ff0ac]
movss dword [ebp - 0x1f8], xmm0
cmp ecx, dword [edx + eax]
je 0x100ded2f
mov byte [ebp - 0x1e2], 1
jmp 0x100ded45
mov ecx, dword [0x10141b14]
mov eax, dword [ecx]
mov eax, dword [eax + 0x34]
call eax
test eax, eax
setne byte [ebp - 0x1e2]
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x24]
call eax
cmp byte [0x10105df0], 0
mov dh, al
mov dl, byte [ebp - 0x1e2]
mov byte [ebp - 0x1e1], dh
je 0x100ded93
test dl, dl
je 0x100ded93
test dh, dh
jne 0x100deda6
mov eax, dword [0x10141cb0]
mov ecx, dword [ebp - 0x1ec]
add eax, 0xffffffb5
xor eax, 0xd719438e
mov byte [eax + ecx], 1
mov eax, dword [ebp - 0x244]
mov byte [eax + 0x10144a97], 1
jmp 0x100dedb9
test dh, dh
jne 0x100deda6
mov eax, dword [ebp - 0x244]
mov byte [eax + 0x10144a97], 1
jmp 0x100dedb9
mov eax, dword [ebp - 0x244]
cmp byte [eax + 0x10144a97], 0
je 0x100e0e9a
movss xmm0, dword [edi]
test dh, dh
je 0x100dedcb
subss xmm0, dword [ebp - 0x1f8]
jmp 0x100dedd3
addss xmm0, dword [ebp - 0x1f8]
movss dword [edi], xmm0
test dl, dl
je 0x100dede8
cmp byte [0x10103e8c], 0
je 0x100dede8
mov dl, 1
jmp 0x100dedea
xor dl, dl
comiss xmm0, dword [0x100f3e34]
lea eax, [ebp - 0x208]
mov dword [ebp - 0x208], 0x3f800000
xorps xmm0, xmm0
cmovbe eax, edi
movss xmm1, dword [eax]
maxss xmm1, xmm0
ucomiss xmm1, xmm0
movss dword [edi], xmm1
lahf
test ah, 0x44
jp 0x100dee24
test dl, dl
je 0x100e0e9a
mov ecx, dword [0x10141c8c]
mov eax, dword [0x10141a94]
add ecx, 0xffffffbe
mov edi, dword [ebp - 0x1ec]
xor ecx, 0xd7194385
movss xmm2, dword [eax + 0x10]
subss xmm2, dword [ecx + edi]
test dh, dh
je 0x100dee59
comiss xmm2, dword [0x100f3ee0]
ja 0x100e0e9a
cmp byte [ebp - 0x1e2], 0
movaps xmm0, xmm1
mulss xmm0, dword [0x100f3fc8]
mulss xmm1, dword [0x100f3fb0]
cvttss2si ecx, xmm0
cvttss2si eax, xmm1
mov dword [ebp - 0x250], ecx
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
mov dword [ebp - 0x1f4], eax
mov eax, dword [0x10103e18]
cmovne eax, dword [0x10103d88]
mov dword [ebp - 0x1f8], eax
mulsd xmm0, qword [0x100f3e70]
cvttsd2si eax, xmm0
mov dword [ebp - 0x1f0], eax
test dh, dh
je 0x100def36
test dl, dl
je 0x100def36
movss xmm0, dword [0x100f3ec8]
mov ecx, 0x70
comiss xmm2, xmm0
mov dword [ebp - 0x250], ecx
mov dword [ebp - 0x1f4], 0x50
jbe 0x100def20
subss xmm2, xmm0
movss xmm0, dword [0x100f3f8c]
movaps xmm1, xmm2
mulss xmm2, dword [0x100f3ef4]
mulss xmm1, dword [0x100f3f10]
subss xmm0, xmm1
cvttss2si ecx, xmm0
movss xmm0, dword [0x100f3f68]
subss xmm0, xmm2
mov dword [ebp - 0x250], ecx
cvttss2si eax, xmm0
mov dword [ebp - 0x1f4], eax
mov dword [ebp - 0x204], 0xff707070
mov eax, dword [ebp - 0x204]
mov dword [ebp - 0x1f8], eax
mov byte [ebp - 0x1f5], cl
lea edx, [ebp - 0x1e0]
mov ecx, dword [0x10141a38]
push edx
push dword [ebp - 0x244]
mov eax, dword [ecx]
mov eax, dword [eax + 0x20]
call eax
test al, al
je 0x100e0e9a
push dword [ebp - 0x250]
push edi
call fcn.100de6b0
mov dword [ebp - 0x3c], 0
mov ecx, edi
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov eax, dword [edi]
mov eax, dword [eax + 0x28]
call eax
lea ecx, [ebp - 0x24]
push ecx
lea ecx, [ebp - 0x3c]
movss xmm0, dword [eax]
movss dword [ebp - 0x208], xmm0
movss xmm0, dword [eax + 4]
mov eax, dword [0x10141b7c]
push ecx
mov ecx, edi
movss dword [ebp - 0x238], xmm0
call eax
movss xmm0, dword [ebp - 0x1c]
lea edx, [ebp - 0x260]
addss xmm0, dword [0x100f3ed8]
movss xmm2, dword [ebp - 0x208]
lea ecx, [ebp - 0x3c]
movss xmm1, dword [ebp - 0x238]
movss dword [ebp - 0x3c], xmm2
movss dword [ebp - 0x38], xmm1
movss dword [ebp - 0x24], xmm2
movss dword [ebp - 0x20], xmm1
movss dword [ebp - 0x1c], xmm0
call fcn.100d4e30
test al, al
je 0x100e0e9a
lea edx, [ebp - 0x210]
lea ecx, [ebp - 0x24]
call fcn.100d4e30
test al, al
je 0x100e0e9a
cmp byte [ebp - 0x1e2], 0
movss xmm4, dword [ebp - 0x25c]
movaps xmm0, xmm4
subss xmm0, dword [ebp - 0x20c]
cvttss2si eax, xmm0
mov dword [ebp - 0x204], eax
movd xmm3, eax
cvtdq2ps xmm3, xmm3
movaps xmm0, xmm3
subss xmm4, xmm3
mulss xmm0, dword [0x100f3df4]
cvttss2si eax, xmm0
mov dword [ebp - 0x218], eax
movd xmm0, eax
cvtdq2ps xmm1, xmm0
movss xmm0, dword [ebp - 0x260]
mulss xmm1, dword [0x100f3df4]
subss xmm0, xmm1
cvttss2si eax, xmm0
mov dword [ebp - 0x200], eax
cvttss2si eax, xmm4
mov dword [ebp - 0x1fc], eax
je 0x100df0bb
push 0
push dword [0x10104794]
push dword [0x10104790]
call fcn.100e4a20
cmp eax, dword [0x10104794]
jne 0x100df0d6
jmp 0x100df0eb
push 1
push dword [0x10104794]
push dword [0x10104790]
call fcn.100e4a20
cmp eax, dword [0x10104794]
je 0x100df10b
push dword [ebp - 0x250]
push edi
call fcn.100e1a10
cmp byte [ebp - 0x1e2], 0
je 0x100df10b
push 0
push dword [0x10103cf4]
push dword [0x10103cf0]
call fcn.100e4a20
cmp eax, dword [0x10103cf4]
jne 0x100df12a
jmp 0x100df22b
push 1
push dword [0x10103cf4]
push dword [0x10103cf0]
call fcn.100e4a20
cmp eax, dword [0x10103cf4]
je 0x100df24b
mov ecx, dword [0x10141a44]
mov eax, dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
mov byte [ebp - 0x1e5], al
mov eax, dword [ecx]
mov word [ebp - 0x1e8], 0xa0a
mov byte [ebp - 0x1e6], 0xa
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x10141a44]
mov esi, dword [ebp - 0x1fc]
mov edi, dword [ebp - 0x200]
mov eax, dword [ecx]
mov edx, dword [eax + 0x48]
mov eax, dword [ebp - 0x204]
add eax, esi
push eax
mov eax, dword [ebp - 0x218]
add eax, edi
push eax
push esi
push edi
call edx
mov ecx, dword [0x10141a44]
dec edi
mov esi, dword [ebp - 0x1e8]
push esi
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x10141a44]
mov esi, dword [ebp - 0x204]
inc esi
mov eax, dword [ecx]
mov edx, dword [eax + 0x48]
mov eax, dword [ebp - 0x1fc]
add eax, esi
push eax
mov eax, dword [ebp - 0x218]
add eax, 2
add eax, edi
push eax
mov eax, dword [ebp - 0x1fc]
dec eax
push eax
push edi
call edx
mov ecx, dword [0x10141a44]
mov edi, dword [ebp - 0x200]
mov esi, dword [ebp - 0x1e8]
inc edi
push esi
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x10141a44]
mov esi, dword [ebp - 0x1fc]
inc esi
mov eax, dword [ecx]
mov edx, dword [eax + 0x48]
mov eax, dword [ebp - 0x204]
add eax, 0xfffffffe
add eax, esi
push eax
mov eax, dword [ebp - 0x218]
add eax, 0xfffffffe
add eax, edi
push eax
push esi
push edi
call edx
cmp byte [ebp - 0x1e2], 0
mov esi, dword [ebp - 0x268]
mov edi, dword [ebp - 0x1ec]
je 0x100df24b
push 0
push dword [0x1010405c]
push dword [0x10104058]
call fcn.100e4a20
cmp eax, dword [0x1010405c]
jne 0x100df26a
jmp 0x100df3b8
push 1
push dword [0x1010405c]
push dword [0x10104058]
call fcn.100e4a20
cmp eax, dword [0x1010405c]
je 0x100df3b8
xorps xmm0, xmm0
mov dword [ebp - 0x44], 0
lea ecx, [ebp - 0x1d0]
mov dword [ebp - 0x40], 0
movups xmmword [ebp - 0x54], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100df288
sub ecx, edx
lea eax, [ebp - 0x1d0]
push ecx
push eax
lea ecx, [ebp - 0x54]
call fcn.10031600
mov dword [ebp - 4], 0
lea eax, [ebp - 0x54]
mov ecx, 0x18
mov dword [ebp - 0x20], 0
cmp dword [ebp - 0x44], ecx
xorps xmm0, xmm0
movups xmmword [ebp - 0x30], xmm0
cmovb ecx, dword [ebp - 0x44]
cmp dword [ebp - 0x40], 0xf
push ecx
cmova eax, dword [ebp - 0x54]
lea ecx, [ebp - 0x30]
push eax
mov dword [ebp - 0x1c], 0
call fcn.10031600
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x40]
cmp ecx, 0xf
jbe 0x100df316
mov edx, dword [ebp - 0x54]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100df30c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100df3a8
push ecx
push edx
call fcn.100e50a7
add esp, 8
cmp byte [ebp - 0x1e1], 0
mov eax, dword [0x101040f0]
mov dword [ebp - 0x1e8], eax
je 0x100df33a
mov word [ebp - 0x1e8], 0x8282
mov byte [ebp - 0x1e6], 0x82
mov eax, dword [ebp - 0x1f4]
mov ecx, 0x101445a8
mov byte [ebp - 0x1e5], al
lea eax, [ebp - 0x30]
push 2
push eax
push dword [ebp - 0x1e8]
mov eax, dword [ebp - 0x1fc]
sub eax, dword [0x101445b0]
push eax
mov eax, dword [ebp - 0x218]
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x200]
push eax
call fcn.100d5a40
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x1c]
cmp ecx, 0xf
jbe 0x100df3c4
mov edx, dword [ebp - 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100df3ae
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100df3ae
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100e50a7
add esp, 8
mov eax, dword [ebp - 0x1f4]
mov dword [ebp - 0x1f4], eax
cmp byte [ebp - 0x1e2], 0
je 0x100df3ed
push 0
push dword [0x10104194]
push dword [0x10104190]
call fcn.100e4a20
cmp eax, dword [0x10104194]
jne 0x100df40c
jmp 0x100df634
push 1
push dword [0x10104194]
push dword [0x10104190]
call fcn.100e4a20
cmp eax, dword [0x10104194]
je 0x100df634
mov eax, dword [ebp - 0x204]
mov ecx, 0x64
add eax, 0xfffffffe
mov esi, 0xff
mov dword [ebp - 0x1e8], eax
mov eax, dword [0x10141c64]
add eax, 0xffffffc8
xor eax, 0xd719437b
add eax, edi
mov edi, ecx
cmp dword [eax], ecx
cmovl edi, dword [eax]
mov eax, 0x51eb851f
sub ecx, edi
mov dword [ebp - 0x18], edi
imul ecx, ecx, 0x1fe
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, esi
cmovg eax, esi
imul ecx, edi, 0x1fe
mov dword [ebp - 0x238], eax
mov eax, 0x51eb851f
imul ecx
push ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, esi
cmovg eax, esi
mov dword [ebp - 0x240], eax
mov eax, edi
imul eax, dword [ebp - 0x1e8]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x100f3d44]
movss dword [ebp - 0x208], xmm0
fld dword [ebp - 0x208]
fstp dword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
mov ecx, dword [0x10141a44]
add esp, 4
mov eax, dword [ebp - 0x1f4]
mov edi, dword [ebp - 0x200]
mov byte [ebp - 0x245], al
add edi, 0xfffffffa
mov eax, dword [ecx]
mov word [ebp - 0x248], 0xa0a
mov byte [ebp - 0x246], 0xa
push dword [ebp - 0x248]
mov eax, dword [eax + 0x38]
fstp dword [ebp - 0x208]
call eax
mov ecx, dword [0x10141a44]
mov esi, dword [ebp - 0x1fc]
mov eax, dword [ecx]
mov edx, dword [eax + 0x40]
mov eax, dword [ebp - 0x1e8]
add eax, 3
add eax, esi
push eax
lea eax, [edi + 4]
push eax
lea eax, [esi - 1]
push eax
push edi
call edx
cvttss2si eax, dword [ebp - 0x208]
mov ecx, dword [ebp - 0x1e8]
sub ecx, eax
mov dword [ebp - 0x1e8], ecx
add ecx, esi
cmp byte [ebp - 0x1e1], 0
mov esi, dword [ebp - 0x268]
lea edx, [eax + 2]
mov dword [ebp - 0x1f8], ecx
push ecx
mov edi, dword [ebp - 0x200]
mov eax, esp
push edx
push 2
mov edx, ecx
je 0x100df5a8
mov ecx, dword [ebp - 0x250]
add edi, 0xfffffffb
mov byte [eax + 3], cl
mov ecx, edi
mov word [eax], 0x826e
mov byte [eax + 2], 0x6e
call fcn.100d57a0
mov edx, dword [ebp - 0x18]
add esp, 0xc
cmp edx, 0x5a
jge 0x100df634
lea ecx, [ebp - 0x230]
call fcn.1003b3b0
push 2
push eax
push ecx
mov eax, esp
mov dword [ebp - 4], 3
mov word [eax], 0x8282
mov byte [eax + 2], 0x82
jmp 0x100df5fc
mov ecx, dword [ebp - 0x238]
add edi, 0xfffffffb
mov byte [eax], cl
mov ecx, dword [ebp - 0x240]
mov byte [eax + 1], cl
mov ecx, dword [ebp - 0x250]
mov byte [eax + 3], cl
mov ecx, edi
mov byte [eax + 2], 0
call fcn.100d57a0
mov edx, dword [ebp - 0x18]
add esp, 0xc
cmp edx, 0x5a
jge 0x100df634
lea ecx, [ebp - 0x230]
call fcn.1003b3b0
push 2
push eax
push ecx
mov eax, esp
mov dword [ebp - 4], 4
mov word [eax], 0xffff
mov byte [eax + 2], 0xff
mov ecx, dword [ebp - 0x1f4]
mov byte [eax + 3], cl
mov ecx, dword [ebp - 0x1fc]
mov eax, dword [ebp - 0x1e8]
add ecx, 0xfffffffc
add eax, ecx
mov ecx, 0x1014459c
push eax
push edi
call fcn.100d5a40
lea ecx, [ebp - 0x230]
mov dword [ebp - 4], 0xffffffff
call fcn.10030f40
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x28]
call eax
imul eax, eax, 0xb70
xorps xmm0, xmm0
movq qword [ebp - 0x24], xmm0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
lea eax, [eax + 0x1011075c]
mov dword [ebp - 0x238], eax
mov dword [ebp - 4], 5
lea ecx, [ebp - 0x48]
push 0x10104238
movq qword [ebp - 0x48], xmm0
mov dword [ebp - 0x40], 0
call fcn.10035640
mov byte [ebp - 4], 6
lea edx, [ebp - 0x290]
mov eax, dword [0x10141ac8]
mov ecx, dword [ebp - 0x244]
mov dword [ebp - 0x294], 0x3e8
mov dword [ebp - 0x290], 0
mov eax, dword [eax]
lea eax, [eax + ecx*4]
mov ecx, dword [eax + 0xae4]
add eax, 0xae4
test ecx, ecx
cmovns edx, eax
cmp ecx, 0x3e8
lea eax, [ebp - 0x294]
cmovle eax, edx
lea ecx, [ebp - 0x6c]
mov edx, dword [eax]
mov dword [ebp - 0x214], edx
call fcn.1003b3b0
mov ecx, eax
mov byte [ebp - 4], 7
mov edi, dword [ecx + 0x14]
mov eax, edi
mov edx, dword [ecx + 0x10]
sub eax, edx
cmp eax, 2
jb 0x100df724
lea eax, [edx + 2]
mov dword [ecx + 0x10], eax
mov eax, ecx
cmp edi, 0xf
jbe 0x100df714
mov eax, dword [ecx]
mov edi, 0x534d
mov word [eax + edx], di
mov byte [eax + edx + 2], 0
jmp 0x100df741
push 2
push 0x100f3ccc
mov byte [ebp - 0x208], 0
push dword [ebp - 0x208]
push 2
call fcn.1003ff30
mov ecx, eax
movups xmm0, xmmword [ecx]
movups xmmword [ebp - 0x84], xmm0
movq xmm0, qword [ecx + 0x10]
movq qword [ebp - 0x74], xmm0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov byte [ecx], 0
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x58]
cmp ecx, 0xf
jbe 0x100df7a0
mov edx, dword [ebp - 0x6c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100df796
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100df796
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100e50a7
add esp, 8
mov edi, dword [ebp - 0x48]
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 0xf
mov byte [ebp - 0x6c], 0
mov dword [ebp - 0x208], edi
cmp edi, dword [ebp - 0x44]
je 0x100e043e
cmp dword [edi], 0
mov edx, 0xffffff
mov esi, 0x64d29b
jne 0x100df918
mov eax, dword [0x10141c68]
lea edx, [ebp - 0x264]
add eax, 0xffffffc7
mov dword [ebp - 0x264], 0x692524
xor eax, 0xd719437c
lea ecx, [ebp - 0x230]
add eax, dword [ebp - 0x1ec]
push eax
call fcn.1003fbd0
add esp, 4
cmp byte [ebp - 0x1e1], 0
xorps xmm0, xmm0
mov ecx, dword [ebp - 0x1f0]
mov edx, 0xdcdcdc
movq xmm1, qword [eax + 0x10]
cmove edx, esi
movzx ecx, cl
movups xmmword [ebp - 0x28c], xmm0
shl ecx, 0x18
movups xmm0, xmmword [eax]
or edx, ecx
mov dword [eax + 0x10], 0
movq qword [ebp - 0x27c], xmm1
movups xmmword [ebp - 0x28c], xmm0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov dword [ebp - 0x274], edx
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x1c]
je 0x100df887
movups xmmword [eax], xmm0
mov ecx, 0xf
mov byte [ebp - 0x28c], 0
movq qword [eax + 0x10], xmm1
mov dword [eax + 0x18], edx
add dword [ebp - 0x20], 0x1c
jmp 0x100df89d
lea ecx, [ebp - 0x28c]
push ecx
push eax
lea ecx, [ebp - 0x24]
call fcn.100b5720
mov ecx, dword [ebp - 0x278]
mov byte [ebp - 4], 0xa
cmp ecx, 0xf
jbe 0x100df8d5
mov edx, dword [ebp - 0x28c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100df8cb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100df3a8
push ecx
push edx
call fcn.100e50a7
add esp, 8
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x21c]
cmp ecx, 0xf
jbe 0x100df913
mov edx, dword [ebp - 0x230]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100df909
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100df3a8
push ecx
push edx
call fcn.100e50a7
add esp, 8
mov edx, 0xffffff
cmp dword [edi], 1
mov ecx, dword [ebp - 0x1ec]
jne 0x100dfb30
mov eax, dword [0x10141c9c]
add eax, 0xffffffba
xor eax, 0xd7194389
cmp byte [eax + ecx], 0
mov eax, dword [0x10141cb8]
je 0x100dfa23
add eax, 0xffffffb3
mov dword [ebp - 0x224], 0
xor eax, 0xd7194390
mov dword [ebp - 0x220], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x234], xmm0
cmp dword [eax + ecx], 0
mov eax, dword [ebp - 0x1f0]
movzx esi, al
mov eax, 0xdcdcdc
jle 0x100df9d0
shl esi, 0x18
lea ecx, [ebp - 0x244]
cmp byte [ebp - 0x1e1], 0
mov word [ebp - 0x244], 0x4b48
cmove eax, edx
mov byte [ebp - 0x242], 0
or esi, eax
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100df9a5
sub ecx, edx
lea eax, [ebp - 0x244]
push ecx
push eax
lea ecx, [ebp - 0x234]
call fcn.10031600
mov dword [ebp - 0x21c], esi
mov byte [ebp - 4], 0xc
jmp 0x100dfaa8
shl esi, 0x18
lea ecx, [ebp - 0x248]
cmp byte [ebp - 0x1e1], 0
mov word [ebp - 0x248], 0x4b48
cmove eax, edx
mov byte [ebp - 0x246], 0
or esi, eax
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100df9f8
sub ecx, edx
lea eax, [ebp - 0x248]
push ecx
push eax
lea ecx, [ebp - 0x234]
call fcn.10031600
mov dword [ebp - 0x21c], esi
mov byte [ebp - 4], 0xd
jmp 0x100dfaa8
add eax, 0xffffffb3
xor eax, 0xd7194390
cmp dword [eax + ecx], 0
jle 0x100dfb30
mov eax, dword [ebp - 0x1f0]
lea ecx, [ebp - 0x254]
movzx esi, al
xorps xmm0, xmm0
shl esi, 0x18
mov eax, 0xdcdcdc
cmp byte [ebp - 0x1e1], 0
mov word [ebp - 0x254], 0x4b
cmove eax, edx
mov dword [ebp - 0x224], 0
or esi, eax
mov dword [ebp - 0x220], 0
movups xmmword [ebp - 0x234], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100dfa82
sub ecx, edx
lea eax, [ebp - 0x254]
push ecx
push eax
lea ecx, [ebp - 0x234]
call fcn.10031600
mov dword [ebp - 0x21c], esi
mov byte [ebp - 4], 0xe
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x1c]
je 0x100dfadc
movups xmm0, xmmword [ebp - 0x234]
mov ecx, 0xf
mov byte [ebp - 0x234], 0
movups xmmword [eax], xmm0
movq xmm0, qword [ebp - 0x224]
movq qword [eax + 0x10], xmm0
mov dword [eax + 0x18], esi
add dword [ebp - 0x20], 0x1c
jmp 0x100dfaf2
lea ecx, [ebp - 0x234]
push ecx
push eax
lea ecx, [ebp - 0x24]
call fcn.100b5720
mov ecx, dword [ebp - 0x220]
mov byte [ebp - 4], 9
cmp ecx, 0xf
jbe 0x100dfb2a
mov edx, dword [ebp - 0x234]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100dfb20
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100e04d8
push ecx
push edx
call fcn.100e50a7
add esp, 8
mov ecx, dword [ebp - 0x1ec]
cmp dword [edi], 2
jne 0x100dfc58
mov eax, dword [0x10141ca8]
add eax, 0xffffffb7
xor eax, 0xd719438c
cmp byte [eax + ecx], 0
je 0x100dfc58
cmp byte [ebp - 0x1e1], 0
lea ecx, [ebp - 0x270]
mov eax, 0xffaf00
mov dword [ebp - 0x270], 0x4d4f4f5a
mov esi, 0xdcdcdc
mov byte [ebp - 0x26c], 0
cmove esi, eax
mov dword [ebp - 0x224], 0
mov eax, dword [ebp - 0x1f0]
lea edx, [ecx + 1]
movzx eax, al
xorps xmm0, xmm0
shl eax, 0x18
or esi, eax
mov dword [ebp - 0x220], 0
movups xmmword [ebp - 0x234], xmm0
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100dfbb0
sub ecx, edx
lea eax, [ebp - 0x270]
push ecx
push eax
lea ecx, [ebp - 0x234]
call fcn.10031600
mov dword [ebp - 0x21c], esi
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x1c]
je 0x100dfc0a
movups xmm0, xmmword [ebp - 0x234]
mov ecx, 0xf
mov byte [ebp - 0x234], 0
movups xmmword [eax], xmm0
movq xmm0, qword [ebp - 0x224]
movq qword [eax + 0x10], xmm0
mov dword [eax + 0x18], esi
add dword [ebp - 0x20], 0x1c
jmp 0x100dfc20
lea ecx, [ebp - 0x234]
push ecx
push eax
lea ecx, [ebp - 0x24]
call fcn.100b5720
mov ecx, dword [ebp - 0x220]
mov byte [ebp - 4], 9
cmp ecx, 0xf
jbe 0x100dfc58
mov edx, dword [ebp - 0x234]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100dfc4e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100e04d8
push ecx
push edx
call fcn.100e50a7
add esp, 8
cmp dword [edi], 3
xorps xmm1, xmm1
mov edx, dword [ebp - 0x1ec]
jne 0x100dfd92
mov eax, dword [0x10141cc4]
add eax, 0xffffffb0
xor eax, 0xd7194393
movss xmm0, dword [eax + edx]
comiss xmm0, xmm1
jbe 0x100dfd92
cmp byte [ebp - 0x1e1], 0
lea ecx, [ebp - 0x210]
mov eax, 0xffaf00
mov dword [ebp - 0x210], 0x4e494c42
mov esi, 0xdcdcdc
mov word [ebp - 0x20c], 0x44
cmove esi, eax
mov dword [ebp - 0x224], 0
mov eax, dword [ebp - 0x1f0]
lea edx, [ecx + 1]
movzx eax, al
xorps xmm0, xmm0
shl eax, 0x18
or esi, eax
mov dword [ebp - 0x220], 0
movups xmmword [ebp - 0x234], xmm0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100dfce1
sub ecx, edx
lea eax, [ebp - 0x210]
push ecx
push eax
lea ecx, [ebp - 0x234]
call fcn.10031600
mov dword [ebp - 0x21c], esi
mov byte [ebp - 4], 0x10
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x1c]
je 0x100dfd3b
movups xmm0, xmmword [ebp - 0x234]
mov ecx, 0xf
mov byte [ebp - 0x234], 0
movups xmmword [eax], xmm0
movq xmm0, qword [ebp - 0x224]
movq qword [eax + 0x10], xmm0
mov dword [eax + 0x18], esi
add dword [ebp - 0x20], 0x1c
jmp 0x100dfd51
lea ecx, [ebp - 0x234]
push ecx
push eax
lea ecx, [ebp - 0x24]
call fcn.100b5720
mov ecx, dword [ebp - 0x220]
mov byte [ebp - 4], 9
cmp ecx, 0xf
jbe 0x100dfd89
mov edx, dword [ebp - 0x234]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100dfd7f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100e04d8
push ecx
push edx
call fcn.100e50a7
add esp, 8
mov edx, dword [ebp - 0x1ec]
xorps xmm1, xmm1
cmp dword [edi], 4
jne 0x100dff08
mov eax, dword [0x10141bc0]
mov ecx, dword [edx + eax]
movss xmm0, dword [ecx + 0x58]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x100dff08
mov esi, dword [ecx + 0x50]
mov ecx, dword [0x10141bd8]
mov eax, dword [0x10141b80]
mov dword [ebp - 0x1e8], eax
cmp dword [edx + ecx], 0
jne 0x100dfde4
mov eax, dword [0x10141b5c]
mov ecx, edx
call eax
mov ecx, dword [0x10141bd8]
mov eax, dword [ebp - 0x1e8]
mov edx, esi
mov esi, dword [ebp - 0x1ec]
mov ecx, dword [esi + ecx]
call eax
cmp eax, 0x3c7
jne 0x100dff0e
cmp byte [ebp - 0x1e1], 0
lea ecx, [ebp - 0x260]
mov eax, 0xe1b43c
mov dword [ebp - 0x260], 0x4f4c4552
mov esi, 0xdcdcdc
mov word [ebp - 0x25c], 0x4441
cmove esi, eax
mov byte [ebp - 0x25a], 0
mov eax, dword [ebp - 0x1f0]
lea edx, [ecx + 1]
movzx eax, al
xorps xmm0, xmm0
shl eax, 0x18
or esi, eax
mov dword [ebp - 0x224], 0
movups xmmword [ebp - 0x234], xmm0
mov dword [ebp - 0x220], 0
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100dfe60
sub ecx, edx
lea eax, [ebp - 0x260]
push ecx
push eax
lea ecx, [ebp - 0x234]
call fcn.10031600
mov dword [ebp - 0x21c], esi
mov byte [ebp - 4], 0x11
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x1c]
je 0x100dfeba
movups xmm0, xmmword [ebp - 0x234]
mov ecx, 0xf
mov byte [ebp - 0x234], 0
movups xmmword [eax], xmm0
movq xmm0, qword [ebp - 0x224]
movq qword [eax + 0x10], xmm0
mov dword [eax + 0x18], esi
add dword [ebp - 0x20], 0x1c
jmp 0x100dfed0
lea ecx, [ebp - 0x234]
push ecx
push eax
lea ecx, [ebp - 0x24]
call fcn.100b5720
mov ecx, dword [ebp - 0x220]
mov byte [ebp - 4], 9
cmp ecx, 0xf
jbe 0x100dff08
mov edx, dword [ebp - 0x234]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100dfefe
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100e04d8
push ecx
push edx
call fcn.100e50a7
add esp, 8
mov esi, dword [ebp - 0x1ec]
cmp dword [edi], 5
jne 0x100dffdc
mov eax, dword [0x10141b8c]
mov ecx, esi
call eax
test al, al
je 0x100dffdc
mov ecx, dword [0x10141a38]
mov eax, dword [ecx]
mov eax, dword [eax + 0x68]
call eax
test al, al
je 0x100dffdc
mov ecx, dword [0x10141a38]
mov eax, dword [ecx]
mov eax, dword [eax + 0x6c]
call eax
test al, al
je 0x100dffdc
cmp byte [ebp - 0x1e1], 0
lea eax, [ebp - 0x1e8]
mov dword [ebp - 0x1e8], eax
mov eax, dword [ebp - 0x1f0]
je 0x100dff8b
mov byte [ebp - 0x249], al
lea eax, [ebp - 0x24c]
mov word [ebp - 0x24c], 0xdcdc
mov byte [ebp - 0x24a], 0xdc
jmp 0x100dffa7
mov byte [ebp - 0x23d], al
lea eax, [ebp - 0x240]
mov word [ebp - 0x240], 0xff
mov byte [ebp - 0x23e], 0
push eax
lea eax, [ebp - 0x1e8]
push eax
lea ecx, [ebp - 0x28c]
call fcn.100e2ac0
lea eax, [ebp - 0x28c]
mov byte [ebp - 4], 0x12
push eax
lea ecx, [ebp - 0x24]
call fcn.100e25b0
lea ecx, [ebp - 0x28c]
mov byte [ebp - 4], 9
call fcn.10030f40
mov esi, dword [ebp - 0x238]
test esi, esi
je 0x100e0151
cmp dword [esi + 0x18], 1
jb 0x100e0151
mov edx, dword [esi + 0x14]
mov eax, edx
mov ecx, dword [esi + 0x10]
and edx, 1
shr eax, 1
dec ecx
and ecx, eax
cmp dword [edi], 7
mov eax, dword [esi + 0xc]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax + edx*8]
mov al, byte [ebp - 0x1e1]
mov dword [ebp - 0x1e8], ecx
jne 0x100e00fc
test al, al
jne 0x100e00fc
movd xmm2, dword [ebp - 0x1f0]
lea eax, [ebp - 0x23c]
cvtdq2ps xmm2, xmm2
add ecx, 0x6b4
push eax
call fcn.100d98f0
mov esi, eax
lea ecx, [ebp - 0x28c]
mov eax, dword [ebp - 0x1e8]
add eax, 0x84
push eax
call fcn.10035820
mov eax, dword [esi]
mov dword [ebp - 0x274], eax
mov byte [ebp - 4], 0x13
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x1c]
je 0x100e00a0
movups xmm0, xmmword [ebp - 0x28c]
mov edx, 0xf
mov byte [ebp - 0x28c], 0
movups xmmword [ecx], xmm0
movq xmm0, qword [ebp - 0x27c]
movq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
add dword [ebp - 0x20], 0x1c
jmp 0x100e00b6
lea eax, [ebp - 0x28c]
push eax
push ecx
lea ecx, [ebp - 0x24]
call fcn.100b5720
mov edx, dword [ebp - 0x278]
mov byte [ebp - 4], 9
cmp edx, 0xf
jbe 0x100e00f0
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x28c]
mov eax, edx
cmp ecx, 0x1000
jb 0x100e00e6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100df3a8
push ecx
push edx
call fcn.100e50a7
add esp, 8
mov al, byte [ebp - 0x1e1]
mov ecx, dword [ebp - 0x1e8]
cmp dword [edi], 8
jne 0x100e0151
test al, al
jne 0x100e0151
cmp byte [ecx + 0xa0c], al
je 0x100e0151
mov byte [ebp - 0x16], al
mov eax, dword [ebp - 0x1f0]
mov byte [ebp - 0x15], al
lea eax, [ebp - 0x18]
push eax
push ecx
lea ecx, [ebp - 0x28c]
mov word [ebp - 0x18], 0xff
call fcn.100e2b20
lea eax, [ebp - 0x28c]
mov byte [ebp - 4], 0x14
push eax
lea ecx, [ebp - 0x24]
call fcn.100e25b0
lea ecx, [ebp - 0x28c]
mov byte [ebp - 4], 9
call fcn.10030f40
cmp dword [edi], 9
jne 0x100e0393
mov ecx, dword [ebp - 0x214]
cmp ecx, 0x3c
jle 0x100e027b
cmp dword [ebp - 0x70], 0xf
lea edx, [ebp - 0x84]
mov eax, dword [ebp - 0x1f0]
cmova edx, dword [ebp - 0x84]
cmp byte [ebp - 0x1e1], 0
movzx esi, al
je 0x100e0197
shl esi, 0x18
or esi, 0xdcdcdc
jmp 0x100e01ac
cmp ecx, 0x64
mov eax, 0x11a8
mov ecx, 0x17da
cmovle eax, ecx
shl esi, 0x18
or esi, eax
mov ecx, edx
mov dword [ebp - 0x224], 0
xorps xmm0, xmm0
mov dword [ebp - 0x220], 0
movups xmmword [ebp - 0x234], xmm0
lea eax, [ecx + 1]
mov dword [ebp - 0x1e8], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100e01d5
sub ecx, dword [ebp - 0x1e8]
push ecx
push edx
lea ecx, [ebp - 0x234]
call fcn.10031600
mov dword [ebp - 0x21c], esi
mov byte [ebp - 4], 0x15
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x1c]
je 0x100e022d
movups xmm0, xmmword [ebp - 0x234]
mov ecx, 0xf
mov byte [ebp - 0x234], 0
movups xmmword [eax], xmm0
movq xmm0, qword [ebp - 0x224]
movq qword [eax + 0x10], xmm0
mov dword [eax + 0x18], esi
add dword [ebp - 0x20], 0x1c
jmp 0x100e0243
lea ecx, [ebp - 0x234]
push ecx
push eax
lea ecx, [ebp - 0x24]
call fcn.100b5720
mov ecx, dword [ebp - 0x220]
mov byte [ebp - 4], 9
cmp ecx, 0xf
jbe 0x100e027b
mov edx, dword [ebp - 0x234]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100e0271
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100e04d8
push ecx
push edx
call fcn.100e50a7
add esp, 8
cmp dword [edi], 9
jne 0x100e0393
mov esi, dword [ebp - 0x238]
test esi, esi
je 0x100e0393
cmp dword [esi + 0x18], 0
je 0x100e0393
cmp byte [ebp - 0x1e2], 0
je 0x100e0393
mov edx, dword [esi + 0x14]
mov eax, edx
mov ecx, dword [esi + 0x10]
and edx, 1
shr eax, 1
dec ecx
and ecx, eax
mov eax, dword [esi + 0xc]
mov eax, dword [eax + ecx*4]
mov esi, dword [eax + edx*8]
add esi, 0x84
mov ecx, esi
cmp dword [esi + 0x14], 0xf
jbe 0x100e02d2
mov ecx, dword [esi]
mov edx, dword [esi + 0x10]
push 0xd
push str.OVERRIDE:BACK
call fcn.10053570
add esp, 8
test al, al
jne 0x100e030c
mov edx, str.OVERRIDE:RIGHT
mov ecx, esi
call fcn.10052f70
test al, al
jne 0x100e030c
mov edx, str.OVERRIDE:LEFT
mov ecx, esi
call fcn.10052f70
test al, al
je 0x100e0393
lea eax, [ebp - 0x3c]
mov dword [ebp - 0x3c], 0x5245564f
push eax
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x38], 0x45444952
mov byte [ebp - 0x34], 0
call fcn.10030f90
mov eax, dword [ebp - 0x1f4]
lea ecx, [ebp - 0x28c]
mov byte [ebp - 4], 0x16
mov byte [ebp - 0x1f5], al
lea eax, [ebp - 0x1f8]
push eax
lea eax, [ebp - 0x230]
mov word [ebp - 0x1f8], 0xd29b
push eax
mov byte [ebp - 0x1f6], 0x64
call fcn.100e2a90
lea eax, [ebp - 0x28c]
mov byte [ebp - 4], 0x17
push eax
lea ecx, [ebp - 0x24]
call fcn.100e25b0
lea ecx, [ebp - 0x28c]
call fcn.10030f40
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 9
call fcn.10030f40
mov ecx, dword [ebp - 0x20]
mov eax, 0x92492493
sub ecx, dword [ebp - 0x24]
xor esi, esi
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x100e0426
mov edx, dword [ebp - 0x200]
add edx, 2
add edx, dword [ebp - 0x218]
xor edi, edi
mov dword [ebp - 0x1e8], edx
nop word [eax + eax]
mov eax, dword [ebp - 0x24]
mov ecx, esi
imul ecx, dword [0x101445a4]
add eax, edi
push 0
push eax
push dword [eax + 0x18]
mov eax, dword [ebp - 0x1fc]
dec eax
add eax, ecx
mov ecx, 0x1014459c
push eax
push edx
call fcn.100d5a40
mov ecx, dword [ebp - 0x20]
mov eax, 0x92492493
sub ecx, dword [ebp - 0x24]
inc esi
imul ecx
add edi, 0x1c
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x1e8]
cmp esi, eax
jb 0x100e03d0
mov edi, dword [ebp - 0x208]
add edi, 4
mov dword [ebp - 0x208], edi
cmp edi, dword [ebp - 0x44]
jne 0x100df7c4
mov esi, dword [ebp - 0x268]
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x70]
cmp ecx, 0xf
jbe 0x100e0475
mov edx, dword [ebp - 0x84]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100e046b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100e04d8
push ecx
push edx
call fcn.100e50a7
add esp, 8
lea ecx, [ebp - 0x48]
call fcn.100305b0
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x24]
test ecx, ecx
je 0x100e04e8
mov edx, dword [ebp - 0x20]
push ecx
call fcn.100b54c0
mov ecx, dword [ebp - 0x1c]
mov eax, 0x92492493
mov edi, dword [ebp - 0x24]
add esp, 4
sub ecx, edi
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, edi
shl ecx, 2
cmp ecx, 0x1000
jb 0x100e04de
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100e04de
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edi
call fcn.100e50a7
add esp, 8
xor edi, edi
mov dword [ebp - 0x1f8], 0
cmp byte [ebp - 0x1e2], 0
mov dword [ebp - 0x24c], edi
je 0x100e06d2
cmp byte [0x1010464c], 0
je 0x100e06b2
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x28]
call eax
imul eax, eax, 0xb70
lea esi, [eax + 0x1011075c]
test esi, esi
je 0x100e06b2
cmp byte [esi + 0xa80], 0
je 0x100e06b2
cmp dword [esi + 0x18], edi
je 0x100e06b2
lea ecx, [esi + 8]
call fcn.10030670
mov eax, dword [eax]
test eax, eax
je 0x100e06b2
movss xmm1, dword [eax + 0x3c]
movss xmm0, dword [eax + 0x38]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
call fcn.10028c20
cvtss2sd xmm0, xmm0
comisd xmm0, xmmword [0x100f3e48]
jbe 0x100e058f
cmp byte [eax + 0xa34], 0
je 0x100e06b2
cmp dword [esi + 0xab4], 3
jg 0x100e06b2
movss xmm0, dword [esi + 0xa7c]
lea edx, [ebp - 0x208]
subss xmm0, dword [eax + 0xa3c]
lea eax, [ebp - 0x214]
mov dword [ebp - 0x214], 0x3f900000
push eax
lea ecx, [ebp - 0x238]
mov dword [ebp - 0x208], edi
movss dword [ebp - 0x238], xmm0
call fcn.100315a0
mov edx, dword [ebp - 0x218]
add esp, 4
movss xmm0, dword [eax]
movd xmm1, edx
cvtdq2ps xmm1, xmm1
mulss xmm0, xmm1
xorps xmm1, xmm1
mulss xmm0, dword [0x100f3e20]
comiss xmm0, xmm1
movss dword [ebp - 0x214], xmm0
jbe 0x100e06b2
mov edi, dword [ebp - 0x200]
mov esi, dword [ebp - 0x1fc]
push ecx
mov ecx, dword [ebp - 0x1f4]
mov eax, esp
push 4
mov byte [eax + 3], cl
lea ecx, [edi - 1]
mov word [eax], 0xa0a
mov byte [eax + 2], 0xa
lea eax, [edx + 2]
mov edx, dword [ebp - 0x204]
add edx, 2
push eax
add edx, esi
call fcn.100d57e0
mov eax, dword [0x101046f0]
add esp, 0xc
cmp byte [ebp - 0x1e1], 0
mov dword [ebp - 0x1f0], eax
je 0x100e0671
mov word [ebp - 0x1f0], 0x6482
mov byte [ebp - 0x1ee], 0x78
mov eax, dword [ebp - 0x250]
mov ecx, edi
mov edx, dword [ebp - 0x204]
mov byte [ebp - 0x1ed], al
add edx, 3
cvttss2si eax, dword [ebp - 0x214]
add edx, esi
push dword [ebp - 0x1f0]
push 2
push eax
call fcn.100d57a0
add esp, 0xc
mov dword [ebp - 0x1f8], 1
mov edi, 5
push 0
push dword [0x1010438c]
push dword [0x10104388]
call fcn.100e4a20
cmp eax, dword [0x1010438c]
jne 0x100e06f9
jmp 0x100e0e9a
push 1
push dword [0x1010438c]
push dword [0x10104388]
call fcn.100e4a20
xor ecx, ecx
mov dword [ebp - 0x1f8], ecx
cmp eax, dword [0x1010438c]
je 0x100e0e9a
mov eax, dword [0x10141cf8]
mov ecx, dword [ebp - 0x1ec]
add eax, 0xffffffa3
xor eax, 0xd71943a0
mov eax, dword [eax + ecx]
mov ecx, dword [0x10141a3c]
push ecx
mov edx, dword [ecx]
mov esi, dword [edx + 0x10]
mov edx, esp
mov dword [edx], eax
call esi
mov esi, eax
mov dword [ebp - 0x264], esi
test esi, esi
je 0x100e0e9a
mov ecx, dword [esi]
mov edx, dword [ecx + 0x6f8]
mov ecx, esi
call edx
test eax, eax
je 0x100e0e9a
mov eax, dword [eax + 0x14]
xorps xmm1, xmm1
mov edx, dword [ebp - 0x1ec]
mov dword [ebp - 0x208], eax
mov eax, dword [0x10141d14]
add eax, 0xffffff9c
xor eax, 0xd71943a7
mov ecx, dword [eax + esi]
mov eax, dword [0x10141bc0]
mov dword [ebp - 0x238], ecx
mov ecx, dword [edx + eax]
mov dword [ebp - 0x240], ecx
movss xmm0, dword [ecx + 0x58]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x100e07d5
mov eax, dword [ecx + 0x50]
mov ecx, dword [0x10141b80]
mov dword [ebp - 0x18], ecx
mov ecx, dword [0x10141bd8]
mov dword [ebp - 0x214], eax
cmp dword [edx + ecx], 0
jne 0x100e07bc
mov eax, dword [0x10141b5c]
mov ecx, edx
call eax
mov ecx, dword [0x10141bd8]
mov eax, dword [ebp - 0x214]
mov edx, eax
mov eax, dword [ebp - 0x1ec]
mov ecx, dword [eax + ecx]
call dword [ebp - 0x18]
cmp eax, 0x3c7
jne 0x100e07d5
mov al, 1
jmp 0x100e07d7
xor al, al
mov ecx, dword [ebp - 0x208]
mov byte [ebp - 0x1e2], al
cmp ecx, 0xffffffff
je 0x100e09c8
cmp byte [0x101044ac], 0
je 0x100e09c8
test al, al
je 0x100e080a
mov eax, dword [ebp - 0x240]
movss xmm1, dword [eax + 0x64]
jmp 0x100e0820
movd xmm1, dword [ebp - 0x238]
movd xmm0, ecx
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
mov eax, dword [ebp - 0x218]
add eax, 0xfffffffe
push ecx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0x214], xmm0
fld dword [ebp - 0x214]
fstp dword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
mov ecx, dword [ebp - 0x1f4]
mov eax, esp
push 4
fstp dword [ebp - 0x240]
mov byte [eax + 3], cl
mov ecx, dword [ebp - 0x1fc]
mov word [eax], 0xa0a
mov byte [eax + 2], 0xa
mov eax, dword [ebp - 0x204]
add eax, edi
add ecx, eax
mov eax, dword [ebp - 0x218]
mov dword [ebp - 0x18], ecx
add eax, 2
push eax
lea edx, [ecx + 2]
mov ecx, dword [ebp - 0x200]
lea ecx, [ecx - 1]
call fcn.100d57e0
mov eax, dword [0x101045d8]
add esp, 0xc
cmp byte [ebp - 0x1e1], 0
mov dword [ebp - 0x1f0], eax
je 0x100e08bc
mov word [ebp - 0x1f0], 0x7d78
mov byte [ebp - 0x1ee], 0x82
mov eax, dword [ebp - 0x250]
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x200]
add edx, 3
mov byte [ebp - 0x1ed], al
cvttss2si eax, dword [ebp - 0x240]
push dword [ebp - 0x1f0]
add eax, 2
push 2
push eax
call fcn.100d57a0
mov eax, 0x66666667
add esp, 4
imul dword [ebp - 0x208]
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 - 0x238]
add esp, 8
fstp qword [ebp - 0x260]
cvttsd2si eax, qword [ebp - 0x260]
cmp ecx, eax
jg 0x100e09c5
cmp byte [ebp - 0x1e2], 0
jne 0x100e09c5
mov edx, ecx
lea ecx, [ebp - 0x230]
call fcn.1003b3b0
cmp byte [ebp - 0x1e1], 0
je 0x100e0978
push 2
push eax
push ecx
mov eax, esp
mov dword [ebp - 4], 0x18
mov word [eax], 0x8282
mov byte [eax + 2], 0x82
jmp 0x100e098e
push 2
push eax
push ecx
mov eax, esp
mov dword [ebp - 4], 0x19
mov word [eax], 0xffff
mov byte [eax + 2], 0xff
mov ecx, dword [ebp - 0x1f4]
push dword [ebp - 0x18]
mov byte [eax + 3], cl
mov ecx, 0x1014459c
cvttss2si eax, dword [ebp - 0x240]
add eax, dword [ebp - 0x200]
push eax
call fcn.100d5a40
lea ecx, [ebp - 0x230]
mov dword [ebp - 4], 0xffffffff
call fcn.10030f40
add edi, 6
cmp byte [0x10104534], 0
je 0x100e0b7a
lea ecx, [ebp - 0x6c]
call fcn.10030fd0
mov edx, dword [ebp - 0x1ec]
mov dword [ebp - 4], 0x1a
mov ecx, dword [0x10141c18]
mov eax, dword [0x100ff0ac]
add ecx, 0xffffffdb
xor ecx, 0xd7194368
mov dword [ebp - 0x24c], 0
movss xmm0, dword [edx + ecx + 4]
movss xmm2, dword [edx + ecx]
subss xmm2, dword [ecx + eax]
subss xmm0, dword [ecx + eax + 4]
movss xmm1, dword [edx + ecx + 8]
subss xmm1, dword [ecx + eax + 8]
mulss xmm2, xmm2
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm2, xmm0
addss xmm2, xmm1
mulss xmm2, dword [0x100f3d78]
cvtps2pd xmm0, xmm2
mulsd xmm0, qword [0x100f3e10]
cvttsd2si esi, xmm0
mov dword [ebp - 0x18], esi
test esi, esi
jle 0x100e0b65
mov eax, dword [ebp - 0x1f8]
add eax, 9
mov dword [ebp - 0x24c], eax
cmp esi, 5
jle 0x100e0ac4
mov eax, 0x66666667
mov ecx, esi
imul esi
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
lea eax, [eax + eax*4]
sub ecx, eax
je 0x100e0aad
nop dword [eax]
dec esi
mov eax, 0x66666667
imul esi
mov ecx, esi
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
lea eax, [eax + eax*4]
sub ecx, eax
jne 0x100e0a90
mov dword [ebp - 0x18], esi
mov eax, 0x66666667
imul esi
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
lea eax, [eax + eax*4]
sub esi, eax
jne 0x100e0b03
lea eax, [ebp - 0x18]
mov dword [ebp - 0x210], 0x46206925
push eax
lea edx, [ebp - 0x210]
mov word [ebp - 0x20c], 0x54
lea ecx, [ebp - 0x230]
call fcn.1003fbd0
add esp, 4
lea ecx, [ebp - 0x6c]
push eax
call fcn.10045b40
lea ecx, [ebp - 0x230]
call fcn.10030f40
mov ecx, dword [ebp - 0x1f8]
lea eax, [ebp - 0x6c]
mov edx, dword [ebp - 0x1f4]
add ecx, edi
cmp byte [ebp - 0x1e1], 0
push 2
push eax
push ecx
mov eax, esp
mov byte [eax + 3], dl
je 0x100e0b31
mov word [eax], 0x8282
mov byte [eax + 2], 0x82
jmp 0x100e0b3a
mov word [eax], 0xffff
mov byte [eax + 2], 0xff
mov eax, dword [ebp - 0x1fc]
add eax, dword [ebp - 0x204]
add eax, ecx
mov ecx, 0x1014459c
push eax
mov eax, dword [ebp - 0x218]
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x200]
push eax
call fcn.100d5a40
lea ecx, [ebp - 0x6c]
mov dword [ebp - 4], 0xffffffff
call fcn.10030f40
mov esi, dword [ebp - 0x264]
push 0
push dword [0x10104434]
push dword [0x10104430]
call fcn.100e4a20
mov ecx, dword [0x10104434]
cmp eax, ecx
je 0x100e0dac
mov eax, dword [0x10141b9c]
mov ecx, esi
call eax
mov ecx, eax
test ecx, ecx
jne 0x100e0bd1
lea eax, [ebp - 0x210]
mov dword [ebp - 0x210], 0x6f727265
push eax
lea ecx, [ebp - 0x54]
mov word [ebp - 0x20c], 0x72
call fcn.10030f90
jmp 0x100e0ce5
mov eax, dword [0x10141ba0]
call eax
mov ecx, eax
test ecx, ecx
jne 0x100e0c05
lea eax, [ebp - 0x210]
mov dword [ebp - 0x210], 0x6f727265
push eax
lea ecx, [ebp - 0x54]
mov word [ebp - 0x20c], 0x72
call fcn.10030f90
jmp 0x100e0ce5
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
mov ecx, dword [0x10141a84]
push eax
mov edx, dword [ecx]
mov edx, dword [edx + 0x30]
call edx
push eax
lea ecx, [ebp - 0x6c]
call fcn.100b48a0
lea ecx, [ebp - 0x84]
mov dword [ebp - 4], 0x1b
call fcn.10030fd0
mov byte [ebp - 4], 0x1c
mov esi, dword [ebp - 0x5c]
test esi, esi
jne 0x100e0c4d
lea ecx, [ebp - 0x54]
call fcn.10030fd0
jmp 0x100e0cd2
mov edx, dword [0x1011119c]
lea ecx, [ebp - 0x6c]
call fcn.100d5f10
push 0
push 0
push 0
push 0
push esi
push eax
push 0
push 0xfde9
call edx
mov esi, eax
lea ecx, [ebp - 0x230]
push 0
push esi
call fcn.10045bc0
push eax
lea ecx, [ebp - 0x84]
call fcn.10045b40
lea ecx, [ebp - 0x230]
call fcn.10030f40
push 0
lea ecx, [ebp - 0x84]
call fcn.10030f20
lea ecx, [ebp - 0x6c]
mov edx, eax
call fcn.100d5f10
push 0
push 0
push esi
push edx
push dword [ebp - 0x5c]
push eax
push 0
push 0xfde9
call dword [0x1011119c]
lea eax, [ebp - 0x84]
push eax
lea ecx, [ebp - 0x54]
call fcn.100357d0
lea ecx, [ebp - 0x84]
call fcn.10030f40
lea ecx, [ebp - 0x6c]
call fcn.10052c70
lea eax, [ebp - 0x23c]
mov dword [ebp - 4], 0x1d
push eax
lea ecx, [ebp - 0x54]
call fcn.10052bc0
lea ecx, [ebp - 0x54]
mov esi, dword [eax]
lea eax, [ebp - 0x214]
push eax
call fcn.10052ba0
lea ecx, [ebp - 0x54]
mov edx, dword [eax]
lea eax, [ebp - 0x208]
push eax
call fcn.10052bc0
push esi
push edx
mov edx, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_toupper]
lea ecx, [ebp - 0x238]
push dword [eax]
call fcn.10052de0
mov ecx, dword [ebp - 0x24c]
lea eax, [ebp - 0x54]
mov edx, dword [ebp - 0x1f4]
add esp, 0xc
add ecx, edi
cmp byte [ebp - 0x1e1], 0
push 2
push eax
push ecx
mov eax, esp
mov byte [eax + 3], dl
je 0x100e0d63
mov word [eax], 0x8282
mov byte [eax + 2], 0x82
jmp 0x100e0d6c
mov word [eax], 0xffff
mov byte [eax + 2], 0xff
mov eax, dword [ebp - 0x204]
add eax, ecx
mov ecx, 0x1014459c
add eax, dword [ebp - 0x1fc]
push eax
mov eax, dword [ebp - 0x218]
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x200]
push eax
call fcn.100d5a40
lea ecx, [ebp - 0x54]
mov dword [ebp - 4], 0xffffffff
call fcn.10030f40
mov ecx, dword [0x10104434]
push 1
push ecx
push dword [0x10104430]
call fcn.100e4a20
cmp eax, dword [0x10104434]
je 0x100e0e9a
sub edi, 5
cmp byte [ebp - 0x1e1], 0
je 0x100e0df0
mov ecx, dword [ebp - 0x268]
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
movsx edx, word [eax*8 + 0x10146f6c]
lea eax, [eax*8 + 0x10146f6c]
jmp 0x100e0e06
mov eax, dword [0x10141d10]
mov ecx, dword [ebp - 0x264]
add eax, 0xffffff9d
xor eax, 0xd71943a6
mov edx, dword [eax + ecx]
lea ecx, [ebp - 0x84]
call fcn.100debc0
cmp byte [ebp - 0x1e1], 0
lea eax, [ebp - 0x84]
push 2
push eax
mov dword [ebp - 4], 0x1e
push ecx
je 0x100e0e50
mov eax, dword [ebp - 0x1f4]
mov ecx, esp
mov word [ecx], 0xdcdc
mov byte [ecx + 2], 0xdc
mov byte [ecx + 3], al
mov ecx, dword [ebp - 0x204]
add ecx, edi
add ecx, dword [ebp - 0x1fc]
push ecx
jmp 0x100e0e73
mov ecx, dword [ebp - 0x1f4]
mov eax, esp
mov word [eax], 0xffff
mov byte [eax + 2], 0xff
mov byte [eax + 3], cl
mov eax, dword [ebp - 0x204]
add eax, edi
add eax, dword [ebp - 0x1fc]
push eax
mov eax, dword [ebp - 0x218]
mov ecx, 0x101445cc
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x200]
push eax
call fcn.100d5a40
lea ecx, [ebp - 0x84]
call fcn.10030f40
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.100e4c2c
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4