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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x38c8
call fcn.10139da0
mov eax, dword [0x10167368]
xor eax, esp
mov dword [esp + 0x38c4], eax
push esi
push edi
mov edi, ecx
mov dword [esp + 0x24], 0
push 0x10205428
mov dword [esp + 0x44], edi
call dword [sym.imp.MSVCP140.dll__Mtx_lock]
add esp, 4
test eax, eax
je 0x100cde67
push eax
call dword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_C_error_int_]
mov ecx, edi
call fcn.100cd7c0
mov ecx, dword [0x10202a24]
mov dword [esp + 0x44], ecx
mov eax, dword [ecx + 4]
cmp eax, dword [ecx + 8]
je 0x100ce62a
mov esi, dword [0x101fb084]
lea eax, [esp + 0x38b4]
push eax
mov ecx, 0x101f6908
call fcn.10049ca0
cmp dword [esp + 0x38c8], 0x10
lea ecx, [esp + 0x38b4]
mov eax, dword [0x101fb580]
cmovae ecx, dword [esp + 0x38b4]
push ecx
mov ecx, dword [eax]
call esi
mov edx, dword [esp + 0x38c8]
mov dword [esp + 0x48], eax
cmp edx, 0x10
jb 0x100cdeff
mov ecx, dword [esp + 0x38b4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100cdef5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100cdef5
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.100e1eaa
add esp, 8
mov eax, dword [esp + 0x44]
mov dword [esp + 0x38c4], 0
mov dword [esp + 0x38c8], 0xf
mov byte [esp + 0x38b4], 0
mov esi, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x44], esi
mov dword [esp + 0x28], eax
cmp esi, eax
je 0x100ce62a
mov esi, dword [esi]
mov dword [esp + 0x38], esi
test esi, esi
je 0x100ce617
mov eax, dword [esi + 8]
lea ecx, [esi + 8]
mov dword [esp + 0x30], ecx
mov eax, dword [eax + 0x28]
call eax
imul eax, eax, 0xde8
mov dword [esp + 0x14], eax
add eax, 0x18
add eax, edi
mov dword [esp + 0x18], eax
cmp dword [eax + 0x70], esi
je 0x100cdfcc
push 0
mov ecx, eax
call fcn.10088d10
mov eax, dword [esp + 0x18]
lea ecx, [esi + 8]
mov dword [eax + 0x70], esi
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
add eax, 0x2d840
shl eax, 5
add eax, edi
mov dword [eax + 4], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov dword [eax + 0x1c], 0
mov dword [eax + 0x18], 0
mov dword [eax + 0x14], 0
mov dword [eax], 0
jmp 0x100ce613
mov eax, dword [0x101faed8]
mov ecx, dword fs:[0x2c]
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x10202ef4]
mov dword [esp + 0xc], ecx
cmp eax, dword [ecx + 4]
jle 0x100ce019
push 0x10202ef4
call fcn.100e1a85
add esp, 4
cmp dword [0x10202ef4], 0xffffffff
jne 0x100ce019
mov eax, dword [0x10202ee0]
push 0x10202ef4
mov dword [0x10202ec0], eax
call fcn.100e1a3b
add esp, 4
mov eax, dword [0x10202ec0]
mov ecx, esi
mov eax, dword [eax + esi]
mov dword [esp + 0x2c], eax
mov eax, dword [esi]
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [esp + 0xc]
mov edx, dword [0x10205300]
movq xmm0, qword [eax]
movq qword [esp + 0x4c], xmm0
mov eax, dword [eax + 8]
mov dword [esp + 0x54], eax
cmp edx, dword [ecx + 4]
jle 0x100ce08a
push 0x10205300
call fcn.100e1a85
mov edx, dword [0x10205300]
add esp, 4
cmp edx, 0xffffffff
jne 0x100ce086
mov eax, dword [0x10203180]
push 0x10205300
mov dword [0x102052dc], eax
call fcn.100e1a3b
mov edx, dword [0x10205300]
add esp, 4
mov ecx, dword [esp + 0xc]
mov eax, dword [0x102052dc]
cmp dword [eax + esi], 4
je 0x100ce0dd
cmp edx, dword [ecx + 4]
jle 0x100ce0ce
push 0x10205300
call fcn.100e1a85
add esp, 4
cmp dword [0x10205300], 0xffffffff
jne 0x100ce0ca
mov eax, dword [0x10203180]
push 0x10205300
mov dword [0x102052dc], eax
call fcn.100e1a3b
add esp, 4
mov ecx, dword [esp + 0xc]
mov eax, dword [0x102052dc]
cmp dword [eax + esi], 5
jne 0x100ce410
mov eax, dword [0x101faf10]
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x1c], eax
mov eax, dword [0x10203080]
cmp eax, dword [ecx + 4]
jle 0x100ce125
push 0x10203080
call fcn.100e1a85
add esp, 4
cmp dword [0x10203080], 0xffffffff
jne 0x100ce125
mov eax, dword [0x10203044]
push 0x10203080
mov dword [0x10202fe0], eax
call fcn.100e1a3b
add esp, 4
mov eax, dword [0x10202fe0]
mov ecx, dword [0x101faf10]
push dword [eax + esi]
call dword [esp + 0x20]
mov dword [esp + 0x10], eax
test eax, eax
je 0x100ce60c
mov edx, dword [esp + 0xc]
mov ecx, dword [0x10202e9c]
cmp ecx, dword [edx + 4]
jle 0x100ce186
push 0x10202e9c
call fcn.100e1a85
add esp, 4
cmp dword [0x10202e9c], 0xffffffff
jne 0x100ce182
mov eax, dword [0x10202ea4]
push 0x10202e9c
mov dword [0x10202ea0], eax
call fcn.100e1a3b
add esp, 4
mov edx, dword [esp + 0xc]
mov eax, dword [0x10202ea0]
mov ecx, dword [esp + 0x10]
cmp dword [eax + ecx], 0
jne 0x100ce60c
mov eax, dword [0x10202eac]
cmp eax, dword [edx + 4]
jle 0x100ce1db
push 0x10202eac
call fcn.100e1a85
add esp, 4
cmp dword [0x10202eac], 0xffffffff
jne 0x100ce1d3
mov eax, dword [0x10202ea8]
push 0x10202eac
mov dword [0x10202e98], eax
call fcn.100e1a3b
add esp, 4
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov eax, dword [0x10202e98]
cmp dword [eax + ecx], 0
jle 0x100ce60c
mov eax, dword [esp + 0x10]
cmp eax, dword [0x101f7060]
je 0x100ce613
mov ecx, dword [0x10202ee8]
cmp ecx, dword [edx + 4]
jle 0x100ce241
push 0x10202ee8
call fcn.100e1a85
mov ecx, dword [0x10202ee8]
add esp, 4
cmp ecx, 0xffffffff
jne 0x100ce23d
mov eax, dword [0x10202ed4]
push 0x10202ee8
mov dword [0x10202ec8], eax
call fcn.100e1a3b
mov ecx, dword [0x10202ee8]
add esp, 4
mov edx, dword [esp + 0xc]
mov edi, dword [esp + 0x10]
mov eax, dword [0x10202ec8]
mov eax, dword [eax + edi]
mov edi, dword [esp + 0x40]
mov dword [esp + 0x1c], eax
mov eax, dword [0x101f7060]
mov dword [esp + 0x20], eax
cmp ecx, dword [edx + 4]
jle 0x100ce293
push 0x10202ee8
call fcn.100e1a85
add esp, 4
cmp dword [0x10202ee8], 0xffffffff
jne 0x100ce293
mov eax, dword [0x10202ed4]
push 0x10202ee8
mov dword [0x10202ec8], eax
call fcn.100e1a3b
add esp, 4
mov eax, dword [0x10202ec8]
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
cmp ecx, dword [eax + edx]
je 0x100ce613
mov ecx, dword [esp + 0x10]
add ecx, 8
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [0x10202fc8]
lea edx, [eax + 0x2d840]
mov eax, dword [esp + 0xc]
shl edx, 5
add edx, edi
mov dword [esp + 0x10], edx
cmp ecx, dword [eax + 4]
jle 0x100ce309
push 0x10202fc8
call fcn.100e1a85
add esp, 4
cmp dword [0x10202fc8], 0xffffffff
jne 0x100ce305
mov eax, dword [0x10202fcc]
push 0x10202fc8
mov dword [0x10202fd0], eax
call fcn.100e1a3b
add esp, 4
mov edx, dword [esp + 0x10]
mov eax, dword [0x10202fd0]
movq xmm0, qword [eax + esi]
movq qword [edx + 0x14], xmm0
mov eax, dword [eax + esi + 8]
mov dword [edx + 0x1c], eax
movss xmm1, dword [edx + 0x14]
movss xmm2, dword [edx + 0x18]
subss xmm2, dword [edx + 0xc]
subss xmm1, dword [edx + 8]
movss xmm0, dword [edx + 0x1c]
subss xmm0, dword [edx + 0x10]
mulss xmm2, xmm2
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm2, xmm1
addss xmm2, xmm0
movss xmm0, dword [0x10161d78]
comiss xmm0, xmm2
jbe 0x100ce406
mov ecx, dword [esp + 0xc]
mov eax, dword [0x10202fc8]
cmp eax, dword [ecx + 4]
jle 0x100ce3a8
push 0x10202fc8
call fcn.100e1a85
add esp, 4
cmp dword [0x10202fc8], 0xffffffff
jne 0x100ce3a0
mov eax, dword [0x10202fcc]
push 0x10202fc8
mov dword [0x10202fd0], eax
call fcn.100e1a3b
add esp, 4
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov eax, dword [0x10202fd0]
movq xmm0, qword [eax + esi]
movq qword [edx + 8], xmm0
mov eax, dword [eax + esi + 8]
mov dword [edx + 0x10], eax
mov eax, dword [0x10202ef4]
cmp eax, dword [ecx + 4]
jle 0x100ce3fc
push 0x10202ef4
call fcn.100e1a85
add esp, 4
cmp dword [0x10202ef4], 0xffffffff
jne 0x100ce3f8
mov eax, dword [0x10202ee0]
push 0x10202ef4
mov dword [0x10202ec0], eax
call fcn.100e1a3b
add esp, 4
mov edx, dword [esp + 0x10]
mov eax, dword [0x10202ec0]
mov eax, dword [eax + esi]
mov dword [edx], eax
mov eax, dword [0x101faf14]
mov eax, dword [eax]
mov dword [edx + 4], eax
mov ecx, dword [esp + 0xc]
mov eax, dword [0x10202e9c]
cmp eax, dword [ecx + 4]
jle 0x100ce452
push 0x10202e9c
call fcn.100e1a85
add esp, 4
cmp dword [0x10202e9c], 0xffffffff
jne 0x100ce44e
mov eax, dword [0x10202ea4]
push 0x10202e9c
mov dword [0x10202ea0], eax
call fcn.100e1a3b
add esp, 4
mov ecx, dword [esp + 0xc]
mov eax, dword [0x10202ea0]
cmp dword [eax + esi], 0
jne 0x100d00e8
mov eax, dword [0x10202eac]
cmp eax, dword [ecx + 4]
jle 0x100ce49f
push 0x10202eac
call fcn.100e1a85
add esp, 4
cmp dword [0x10202eac], 0xffffffff
jne 0x100ce49b
mov eax, dword [0x10202ea8]
push 0x10202eac
mov dword [0x10202e98], eax
call fcn.100e1a3b
add esp, 4
mov ecx, dword [esp + 0xc]
mov eax, dword [0x10202e98]
cmp dword [eax + esi], 0
jle 0x100d00e8
mov eax, dword [0x101f7060]
mov dword [esp + 0x10], eax
mov eax, dword [0x10202e9c]
cmp eax, dword [ecx + 4]
jle 0x100ce4f5
push 0x10202e9c
call fcn.100e1a85
add esp, 4
cmp dword [0x10202e9c], 0xffffffff
jne 0x100ce4f1
mov eax, dword [0x10202ea4]
push 0x10202e9c
mov dword [0x10202ea0], eax
call fcn.100e1a3b
add esp, 4
mov ecx, dword [esp + 0xc]
mov eax, dword [0x10202ea0]
mov edx, dword [esp + 0x10]
cmp dword [edx + eax], 0
jne 0x100ce64c
mov eax, dword [0x10202eac]
cmp eax, dword [ecx + 4]
jle 0x100ce54a
push 0x10202eac
call fcn.100e1a85
add esp, 4
cmp dword [0x10202eac], 0xffffffff
jne 0x100ce542
mov eax, dword [0x10202ea8]
push 0x10202eac
mov dword [0x10202e98], eax
call fcn.100e1a3b
add esp, 4
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov eax, dword [0x10202e98]
cmp dword [edx + eax], 0
jle 0x100ce64c
cmp esi, dword [0x101f7060]
je 0x100ce60c
mov edx, dword [0x10202ee8]
cmp edx, dword [ecx + 4]
jle 0x100ce5ac
push 0x10202ee8
call fcn.100e1a85
mov edx, dword [0x10202ee8]
add esp, 4
cmp edx, 0xffffffff
jne 0x100ce5a8
mov eax, dword [0x10202ed4]
push 0x10202ee8
mov dword [0x10202ec8], eax
call fcn.100e1a3b
mov edx, dword [0x10202ee8]
add esp, 4
mov ecx, dword [esp + 0xc]
mov eax, dword [0x10202ec8]
mov eax, dword [eax + esi]
mov dword [esp + 0x1c], eax
mov eax, dword [0x101f7060]
mov dword [esp + 0x20], eax
cmp edx, dword [ecx + 4]
jle 0x100ce5f6
push 0x10202ee8
call fcn.100e1a85
add esp, 4
cmp dword [0x10202ee8], 0xffffffff
jne 0x100ce5f6
mov eax, dword [0x10202ed4]
push 0x10202ee8
mov dword [0x10202ec8], eax
call fcn.100e1a3b
add esp, 4
mov eax, dword [0x10202ec8]
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
cmp ecx, dword [edx + eax]
jne 0x100ce76a
mov eax, dword [esp + 0x18]
mov byte [eax], 0
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x44]
add esi, 0xc
mov dword [esp + 0x44], esi
cmp esi, eax
jne 0x100cdf37
push 0x10205428
call dword [sym.imp.MSVCP140.dll__Mtx_unlock]
mov ecx, dword [esp + 0x38d0]
add esp, 4
pop edi
pop esi
xor ecx, esp
call fcn.100e1968
mov esp, ebp
pop ebp
ret
mov eax, dword [0x101f7060]
mov dword [esp + 0x1c], eax
mov eax, dword [0x101faf10]
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x20], eax
mov eax, dword [0x10203080]
cmp eax, dword [ecx + 4]
jle 0x100ce69d
push 0x10203080
call fcn.100e1a85
add esp, 4
cmp dword [0x10203080], 0xffffffff
jne 0x100ce69d
mov eax, dword [0x10203044]
push 0x10203080
mov dword [0x10202fe0], eax
call fcn.100e1a3b
add esp, 4
mov eax, dword [0x10202fe0]
mov ecx, dword [esp + 0x1c]
push dword [ecx + eax]
mov ecx, dword [0x101faf10]
call dword [esp + 0x24]
test eax, eax
je 0x100ce6bf
cmp esi, eax
je 0x100ce60c
mov eax, dword [esp + 0xc]
mov ecx, dword [0x10202ee8]
cmp ecx, dword [eax + 4]
jle 0x100ce706
push 0x10202ee8
call fcn.100e1a85
mov ecx, dword [0x10202ee8]
add esp, 4
cmp ecx, 0xffffffff
jne 0x100ce706
mov eax, dword [0x10202ed4]
push 0x10202ee8
mov dword [0x10202ec8], eax
call fcn.100e1a3b
mov ecx, dword [0x10202ee8]
add esp, 4
mov eax, dword [0x10202ec8]
mov eax, dword [eax + esi]
mov dword [esp + 0x1c], eax
mov eax, dword [0x101f7060]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xc]
cmp ecx, dword [eax + 4]
jle 0x100ce754
push 0x10202ee8
call fcn.100e1a85
add esp, 4
cmp dword [0x10202ee8], 0xffffffff
jne 0x100ce754
mov eax, dword [0x10202ed4]
push 0x10202ee8
mov dword [0x10202ec8], eax
call fcn.100e1a3b
add esp, 4
mov eax, dword [0x10202ec8]
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
cmp ecx, dword [edx + eax]
je 0x100ce60c
mov eax, dword [esi + 8]
lea ecx, [esi + 8]
mov eax, dword [eax + 0x24]
call eax
test al, al
je 0x100ce946
mov eax, dword [esi + 8]
lea ecx, [esi + 8]
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [0x101faf14]
add eax, 0x2d840
shl eax, 5
add eax, edi
mov dword [esp + 0x20], eax
movss xmm0, dword [ecx]
mov ecx, dword [esp + 0xc]
subss xmm0, dword [eax + 4]
mov eax, dword [0x102037c4]
andps xmm0, xmmword [0x10162330]
comiss xmm0, dword [0x10161b60]
setbe byte [esp + 0x3f]
cmp eax, dword [ecx + 4]
jle 0x100ce7fa
push 0x102037c4
call fcn.100e1a85
add esp, 4
cmp dword [0x102037c4], 0xffffffff
jne 0x100ce7f6
mov eax, dword [0x102030a0]
push 0x102037c4
mov dword [0x102036b0], eax
call fcn.100e1a3b
add esp, 4
mov ecx, dword [esp + 0xc]
mov eax, dword [0x102036b0]
mov byte [eax + esi], 1
mov eax, dword [esp + 0x20]
mov edx, dword [eax]
mov eax, dword [0x10202ef4]
mov dword [esp + 0x1c], edx
cmp eax, dword [ecx + 4]
jle 0x100ce847
push 0x10202ef4
call fcn.100e1a85
add esp, 4
cmp dword [0x10202ef4], 0xffffffff
jne 0x100ce847
mov eax, dword [0x10202ee0]
push 0x10202ef4
mov dword [0x10202ec0], eax
call fcn.100e1a3b
add esp, 4
mov eax, dword [0x10202ec0]
mov ecx, dword [esp + 0x1c]
mov dword [eax + esi], ecx
mov ecx, esi
mov eax, dword [esp + 0x20]
add eax, 8
push eax
call dword [0x101fb038]
mov ecx, dword [esp + 0x18]
mov al, byte [esp + 0x3f]
inc ecx
mov dword [esp + 0x20], ecx
mov byte [ecx], al
mov ecx, esi
mov eax, dword [esi]
mov eax, dword [eax + 0x28]
call eax
mov edx, dword [esp + 0x14]
movq xmm0, qword [eax]
movq qword [edx + edi + 0xe4], xmm0
mov eax, dword [eax + 8]
movss xmm0, dword [edx + edi + 0x28]
mov dword [edx + edi + 0xec], eax
mov eax, dword [esp + 0x20]
cmp byte [eax], 0
mov eax, dword [0x101faf14]
movss xmm2, dword [eax + 0x14]
je 0x100ce8c1
mulss xmm2, dword [0x10161b00]
movss xmm1, dword [0x101619f8]
jmp 0x100ce8cc
mulss xmm2, dword [0x10161b30]
xorps xmm1, xmm1
call fcn.1008a280
xorps xmm1, xmm1
movss dword [edx + edi + 0x28], xmm0
comiss xmm1, xmm0
jb 0x100ced44
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
mov byte [eax], 0
mov eax, dword [0x10202ef4]
cmp eax, dword [ecx + 4]
jle 0x100ce928
push 0x10202ef4
call fcn.100e1a85
add esp, 4
cmp dword [0x10202ef4], 0xffffffff
jne 0x100ce928
mov eax, dword [0x10202ee0]
push 0x10202ef4
mov dword [0x10202ec0], eax
call fcn.100e1a3b
add esp, 4
mov eax, dword [0x10202ec0]
mov ecx, dword [esp + 0x2c]
mov dword [eax + esi], ecx
lea eax, [esp + 0x4c]
push eax
mov ecx, esi
call dword [0x101fb038]
jmp 0x100ce613
mov ecx, dword [esp + 0x14]
movss xmm1, dword [0x10161a80]
movss xmm0, dword [ecx + edi + 0x28]
lea eax, [ecx + 0x19]
add eax, edi
mov dword [esp + 0x20], eax
mov byte [eax], 0
mov eax, dword [0x101faf14]
movss xmm2, dword [eax + 0x14]
mulss xmm2, dword [0x10161b10]
call fcn.1008a280
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0xc]
movss dword [eax + edi + 0x28], xmm0
mov eax, dword [0x10202eac]
cmp eax, dword [ecx + 4]
jle 0x100ce9c3
push 0x10202eac
call fcn.100e1a85
add esp, 4
cmp dword [0x10202eac], 0xffffffff
jne 0x100ce9c3
mov eax, dword [0x10202ea8]
push 0x10202eac
mov dword [0x10202e98], eax
call fcn.100e1a3b
add esp, 4
mov eax, dword [0x10202e98]
mov ecx, dword [esp + 0x14]
push 0
push 0x1015a5b5
mov eax, dword [eax + esi]
mov dword [ecx + edi + 0x38], eax
lea ecx, [esp + 0x3858]
mov dword [esp + 0x3858], 0
mov dword [esp + 0x3868], 0
mov dword [esp + 0x386c], 0xf
call fcn.10046140
push 0x90
lea eax, [esp + 0x5c]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [esp + 0xe8], 0
xorps xmm0, xmm0
mov dword [esp + 0x10c], 0
lea eax, [esp + 0x114]
mov dword [esp + 0x110], 0
movups xmmword [esp + 0xec], xmm0
push 0x80
push 0
push eax
movups xmmword [esp + 0x108], xmm0
call sub.VCRUNTIME140.dll_memset
mov eax, dword [esi + 8]
lea ecx, [esi + 8]
add esp, 0xc
mov word [esp + 0x194], 0
xorps xmm0, xmm0
mov byte [esp + 0x1a8], 0
movups xmmword [esp + 0x198], xmm0
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [0x101faf8c]
lea esi, [esp + 0x58]
push esi
push eax
mov edx, dword [ecx]
mov eax, dword [edx + 0x20]
call eax
cmp dword [esp + 0x3860], 0
mov esi, dword [esp + 0x38]
je 0x100ceaca
or dword [esp + 0x24], 1
lea eax, [esp + 0x3850]
push eax
lea ecx, [esp + 0x3870]
call fcn.10045b30
jmp 0x100ceb19
or dword [esp + 0x24], 2
lea ecx, [esp + 0x68]
mov dword [esp + 0x3884], 0
lea edx, [ecx + 1]
mov dword [esp + 0x3894], 0
mov dword [esp + 0x3898], 0xf
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100ceaf7
sub ecx, edx
lea eax, [esp + 0x68]
push ecx
push eax
lea ecx, [esp + 0x388c]
call fcn.10046140
lea eax, [esp + 0x3884]
push eax
lea ecx, [esp + 0x38a0]
call fcn.10045b30
mov eax, dword [esp + 0x24]
test al, 2
je 0x100ceb75
mov edx, dword [esp + 0x3898]
and eax, 0xfffffffd
mov dword [esp + 0x24], eax
cmp edx, 0x10
jb 0x100ceb75
mov ecx, dword [esp + 0x3884]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100ceb67
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cdeef
push edx
push ecx
call fcn.100e1eaa
mov eax, dword [esp + 0x2c]
add esp, 8
test al, 1
je 0x100cebda
mov edx, dword [esp + 0x3880]
and eax, 0xfffffffe
mov dword [esp + 0x24], eax
cmp edx, 0x10
jb 0x100cebbc
mov ecx, dword [esp + 0x386c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100cebb2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cdeef
push edx
push ecx
call fcn.100e1eaa
add esp, 8
mov dword [esp + 0x387c], 0
mov dword [esp + 0x3880], 0xf
mov byte [esp + 0x386c], 0
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x389c]
add ecx, 0x40
push eax
add ecx, edi
call fcn.10045980
mov edx, dword [esp + 0x38b0]
cmp edx, 0x10
jb 0x100cec2c
mov ecx, dword [esp + 0x389c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100cec22
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cdeef
push edx
push ecx
call fcn.100e1eaa
add esp, 8
mov edx, dword [esp + 0x3864]
mov dword [esp + 0x38ac], 0
mov dword [esp + 0x38b0], 0xf
mov byte [esp + 0x389c], 0
cmp edx, 0x10
jb 0x100cec86
mov ecx, dword [esp + 0x3850]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100cec7c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cdeef
push edx
push ecx
call fcn.100e1eaa
add esp, 8
mov eax, dword [0x101faed8]
mov ecx, dword fs:[0x2c]
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x10202ef4]
cmp eax, dword [ecx + 4]
jle 0x100ceccf
push 0x10202ef4
call fcn.100e1a85
add esp, 4
cmp dword [0x10202ef4], 0xffffffff
jne 0x100ceccf
mov eax, dword [0x10202ee0]
push 0x10202ef4
mov dword [0x10202ec0], eax
call fcn.100e1a3b
add esp, 4
mov eax, dword [0x10202ec0]
mov ecx, dword [esp + 0x14]
mov eax, dword [eax + esi]
mov dword [ecx + edi + 0x3c], eax
mov ecx, esi
mov eax, dword [esi]
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [esp + 0x14]
movq xmm0, qword [eax]
movq qword [ecx + edi + 0xf0], xmm0
mov eax, dword [eax + 8]
mov dword [ecx + edi + 0xf8], eax
lea ecx, [esi + 8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
lea edx, [eax + 0x2d840]
mov eax, dword [esp + 0x14]
shl edx, 5
add edx, edi
movq xmm0, qword [eax + edi + 0xf0]
movq qword [edx + 8], xmm0
mov ecx, dword [eax + edi + 0xf8]
mov dword [edx + 0x10], ecx
mov eax, dword [eax + edi + 0x3c]
mov dword [edx], eax
mov eax, dword [0x101faf14]
mov eax, dword [eax]
mov dword [edx + 4], eax
mov ecx, dword [esp + 0x48]
test ecx, ecx
je 0x100cf185
lea eax, [ecx - 0x14]
test eax, eax
je 0x100cf185
mov eax, dword [esi + 8]
lea ecx, [esi + 8]
mov eax, dword [eax + 0x24]
call eax
test al, al
je 0x100cf185
mov ecx, dword fs:[0x2c]
mov eax, dword [0x101faed8]
mov eax, dword [ecx + eax*4]
mov ecx, dword [0x10202ee8]
mov dword [esp + 0x10], eax
cmp ecx, dword [eax + 4]
jle 0x100cedc4
push 0x10202ee8
call fcn.100e1a85
mov ecx, dword [0x10202ee8]
add esp, 4
cmp ecx, 0xffffffff
jne 0x100cedc4
mov eax, dword [0x10202ed4]
push 0x10202ee8
mov dword [0x10202ec8], eax
call fcn.100e1a3b
mov ecx, dword [0x10202ee8]
add esp, 4
mov eax, dword [0x10202ec8]
mov edx, dword [esp + 0x10]
mov eax, dword [eax + esi]
mov dword [esp + 0x1c], eax
mov eax, dword [0x101f7060]
mov dword [esp + 0xc], eax
cmp ecx, dword [edx + 4]
jle 0x100cee16
push 0x10202ee8
call fcn.100e1a85
add esp, 4
cmp dword [0x10202ee8], 0xffffffff
jne 0x100cee12
mov eax, dword [0x10202ed4]
push 0x10202ee8
mov dword [0x10202ec8], eax
call fcn.100e1a3b
add esp, 4
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0xc]
mov eax, dword [0x10202ec8]
mov ecx, dword [esp + 0x1c]
cmp ecx, dword [edi + eax]
mov edi, dword [esp + 0x40]
je 0x100cf185
mov eax, dword [0x102037c4]
cmp eax, dword [edx + 4]
jle 0x100cee6a
push 0x102037c4
call fcn.100e1a85
add esp, 4
cmp dword [0x102037c4], 0xffffffff
jne 0x100cee6a
mov eax, dword [0x102030a0]
push 0x102037c4
mov dword [0x102036b0], eax
call fcn.100e1a3b
add esp, 4
mov eax, dword [0x102036b0]
cmp byte [eax + esi], 0
je 0x100cf185
mov eax, dword [esi + 8]
lea ecx, [esi + 8]
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [esp + 0x48]
imul eax, eax, 0x174
mov eax, dword [eax + ecx + 0x188]
mov ecx, dword [esp + 0x14]
mov dword [ecx + edi + 0x38], eax
lea ecx, [esi + 8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
mov edx, dword [esp + 0x48]
imul eax, eax, 0x174
add edx, 0x18c
mov dword [esp + 0x3850], 0
mov dword [esp + 0x3860], 0
mov dword [esp + 0x3864], 0xf
add edx, eax
mov ecx, edx
lea eax, [ecx + 1]
mov dword [esp + 0x1c], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100ceee3
sub ecx, dword [esp + 0x1c]
push ecx
push edx
lea ecx, [esp + 0x3858]
call fcn.10046140
push 0x90
lea eax, [esp + 0x5c]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [esp + 0xe8], 0
xorps xmm0, xmm0
mov dword [esp + 0x10c], 0
lea eax, [esp + 0x114]
mov dword [esp + 0x110], 0
movups xmmword [esp + 0xec], xmm0
push 0x80
push 0
push eax
movups xmmword [esp + 0x108], xmm0
call sub.VCRUNTIME140.dll_memset
mov eax, dword [esi + 8]
lea ecx, [esi + 8]
add esp, 0xc
mov word [esp + 0x194], 0
xorps xmm0, xmm0
mov byte [esp + 0x1a8], 0
movups xmmword [esp + 0x198], xmm0
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [0x101faf8c]
lea esi, [esp + 0x58]
push esi
push eax
mov edx, dword [ecx]
mov eax, dword [edx + 0x20]
call eax
cmp dword [esp + 0x3860], 0
mov esi, dword [esp + 0x38]
je 0x100cefbf
lea eax, [esp + 0x3850]
push eax
lea ecx, [esp + 0x3870]
call fcn.10045b30
mov ecx, 4
jmp 0x100cf00e
lea ecx, [esp + 0x68]
mov dword [esp + 0x389c], 0
mov dword [esp + 0x38ac], 0
lea edx, [ecx + 1]
mov dword [esp + 0x38b0], 0xf
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100cefe7
sub ecx, edx
lea eax, [esp + 0x68]
push ecx
push eax
lea ecx, [esp + 0x38a4]
call fcn.10046140
lea eax, [esp + 0x389c]
mov ecx, 8
mov edx, dword [esp + 0x24]
or edx, ecx
lea ecx, [esp + 0x3884]
push eax
mov dword [esp + 0x28], edx
call fcn.10045b30
mov eax, dword [esp + 0x24]
test al, 8
je 0x100cf074
mov edx, dword [esp + 0x38b0]
and eax, 0xfffffff7
mov dword [esp + 0x24], eax
cmp edx, 0x10
jb 0x100cf074
mov ecx, dword [esp + 0x389c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100cf066
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cdeef
push edx
push ecx
call fcn.100e1eaa
mov eax, dword [esp + 0x2c]
add esp, 8
test al, 4
je 0x100cf0d9
mov edx, dword [esp + 0x3880]
and eax, 0xfffffffb
mov dword [esp + 0x24], eax
cmp edx, 0x10
jb 0x100cf0bb
mov ecx, dword [esp + 0x386c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100cf0b1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cdeef
push edx
push ecx
call fcn.100e1eaa
add esp, 8
mov dword [esp + 0x387c], 0
mov dword [esp + 0x3880], 0xf
mov byte [esp + 0x386c], 0
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x3884]
add ecx, 0x40
push eax
add ecx, edi
call fcn.10045980
mov edx, dword [esp + 0x3898]
cmp edx, 0x10
jb 0x100cf12b
mov ecx, dword [esp + 0x3884]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100cf121
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cdeef
push edx
push ecx
call fcn.100e1eaa
add esp, 8
mov edx, dword [esp + 0x3864]
mov dword [esp + 0x3894], 0
mov dword [esp + 0x3898], 0xf
mov byte [esp + 0x3884], 0
cmp edx, 0x10
jb 0x100cf185
mov ecx, dword [esp + 0x3850]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100cf17b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cdeef
push edx
push ecx
call fcn.100e1eaa
add esp, 8
mov eax, dword [esp + 0x14]
cmp dword [eax + edi + 0x38], 0
jne 0x100cf215
mov eax, dword [esi + 8]
lea ecx, [esi + 8]
mov eax, dword [eax + 0x24]
call eax
test al, al
je 0x100ce613
mov eax, dword [esp + 0x18]
mov ecx, dword fs:[0x2c]
mov byte [eax], 0
mov eax, dword [0x101faed8]
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x10202ef4]
cmp eax, dword [ecx + 4]
jle 0x100cf1f7
push 0x10202ef4
call fcn.100e1a85
add esp, 4
cmp dword [0x10202ef4], 0xffffffff
jne 0x100cf1f7
mov eax, dword [0x10202ee0]
push 0x10202ef4
mov dword [0x10202ec0], eax
call fcn.100e1a3b
add esp, 4
mov eax, dword [0x10202ec0]
mov ecx, dword [esp + 0x2c]
mov dword [eax + esi], ecx
lea eax, [esp + 0x4c]
push eax
mov ecx, esi
call dword [0x101fb038]
jmp 0x100ce613
mov eax, dword [esp + 0x18]
mov ecx, esi
mov byte [eax], 1
lea eax, [esp + 0x3850]
push eax
call fcn.100ccf00
mov ecx, dword [esp + 0x18]
add esp, 4
movups xmm0, xmmword [eax]
mov eax, dword [eax + 0x10]
movups xmmword [ecx + edi + 0x8c], xmm0
mov dword [ecx + edi + 0x9c], eax
mov ecx, esi
mov eax, dword [esi]
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [esp + 0x14]
movq xmm0, qword [eax]
movq qword [ecx + edi + 0xd8], xmm0
mov eax, dword [eax + 8]
mov dword [ecx + edi + 0xe0], eax
lea ecx, [esi + 8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [esp + 0x14]
mov dword [ecx + edi + 0x34], eax
mov eax, dword [ecx + edi + 0x38]
cmp eax, 0x64
jle 0x100cf28d
mov eax, 0x64
jmp 0x100cf294
xor edx, edx
test eax, eax
cmovs eax, edx
mov edx, dword fs:[0x2c]
movd xmm0, eax
mov eax, dword [0x101faed8]
cvtdq2ps xmm0, xmm0
mov edx, dword [edx + eax*4]
mov dword [esp + 0x10], edx
movss dword [ecx + edi + 0x24], xmm0
mov eax, dword [0x102039f0]
cmp eax, dword [edx + 4]
jle 0x100cf2f6
push 0x102039f0
call fcn.100e1a85
add esp, 4
cmp dword [0x102039f0], 0xffffffff
jne 0x100cf2ee
mov eax, dword [0x1020318c]
push 0x102039f0
mov dword [0x102039f4], eax
call fcn.100e1a3b
add esp, 4
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, dword [0x102039f4]
mov al, byte [eax + esi]
mov byte [ecx + edi + 0xa0], al
mov eax, dword [0x10203454]
cmp eax, dword [edx + 4]
jle 0x100cf347
push 0x10203454
call fcn.100e1a85
add esp, 4
cmp dword [0x10203454], 0xffffffff
jne 0x100cf33f
mov eax, dword [0x102031a8]
push 0x10203454
mov dword [0x1020345c], eax
call fcn.100e1a3b
add esp, 4
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, dword [0x1020345c]
mov eax, dword [eax + esi]
mov dword [ecx + edi + 0xcc], eax
mov eax, dword [esp + 0x20]
cmp byte [eax], 0
jne 0x100ce613
mov eax, dword [0x10202ef0]
cmp eax, dword [edx + 4]
jle 0x100cf3a1
push 0x10202ef0
call fcn.100e1a85
add esp, 4
cmp dword [0x10202ef0], 0xffffffff
jne 0x100cf39d
mov eax, dword [0x10202edc]
push 0x10202ef0
mov dword [0x10202eb4], eax
call fcn.100e1a3b
add esp, 4
mov ecx, dword [esp + 0x14]
mov eax, dword [0x10202eb4]
mov al, byte [eax + esi]
mov byte [ecx + edi + 0xa1], al
mov edx, dword [esi + 0x3874]
mov dword [esp + 0x2c], edx
test edx, edx
je 0x100cf4a7
movss xmm0, dword [edx + 0xa4]
ucomiss xmm0, dword [0x10161928]
lahf
test ah, 0x44
jnp 0x100cf4a7
mov edi, dword [esp + 0x10]
mov eax, dword [0x10202ef4]
cmp eax, dword [edi + 4]
mov edi, dword [esp + 0x40]
jle 0x100cf425
push 0x10202ef4
call fcn.100e1a85
add esp, 4
cmp dword [0x10202ef4], 0xffffffff
jne 0x100cf41d
mov eax, dword [0x10202ee0]
push 0x10202ef4
mov dword [0x10202ec0], eax
call fcn.100e1a3b
add esp, 4
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x14]
mov eax, dword [0x10202ec0]
test byte [eax + esi], 1
je 0x100cf4a7
cmp byte [edx + 0x108], 0
je 0x100cf4a7
cmp byte [edx + 0x109], 0
jne 0x100cf4a7
movss xmm0, dword [edx + 0xa4]
movss xmm1, dword [0x10161a68]
comiss xmm1, xmm0
jbe 0x100cf49c
comiss xmm0, dword [0x10161a18]
jbe 0x100cf49c
mov esi, dword [0x101faf14]
mov eax, dword [ecx + edi + 0xd4]
mov edx, dword [ecx + edi + 0xd0]
cmp eax, dword [esi + 0x1c]
mov esi, dword [esp + 0x38]
je 0x100cf494
mov eax, dword [0x101faf14]
inc edx
mov dword [ecx + edi + 0xd0], edx
mov eax, dword [eax + 0x1c]
mov dword [ecx + edi + 0xd4], eax
cmp edx, 0x10
setge al
jmp 0x100cf4a9
mov dword [ecx + edi + 0xd0], 0
xor al, al
mov edx, dword fs:[0x2c]
mov byte [ecx + edi + 0xa4], al
mov eax, dword [0x101faed8]
mov eax, dword [edx + eax*4]
mov dword [esp + 0x18], eax
mov edx, dword [esp + 0x18]
mov eax, dword [0x10203394]
cmp eax, dword [edx + 4]
jle 0x100cf509
push 0x10203394
call fcn.100e1a85
add esp, 4
cmp dword [0x10203394], 0xffffffff
jne 0x100cf501
mov eax, dword [0x10203100]
push 0x10203394
mov dword [0x10203384], eax
call fcn.100e1a3b
add esp, 4
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov eax, dword [0x10203384]
mov al, byte [eax + esi]
mov byte [ecx + edi + 0xa9], al
mov eax, dword [0x102052e0]
cmp eax, dword [edx + 4]
jle 0x100cf556
push 0x102052e0
call fcn.100e1a85
add esp, 4
cmp dword [0x102052e0], 0xffffffff
jne 0x100cf552
mov eax, dword [0x102030e4]
push 0x102052e0
mov dword [0x10205308], eax
call fcn.100e1a3b
add esp, 4
mov ecx, dword [esp + 0x14]
mov eax, dword [0x10205308]
mov al, byte [eax + esi]
mov esi, dword [0x101faf20]
mov byte [ecx + edi + 0xa8], al
mov ecx, dword [esp + 0x18]
mov eax, dword [0x1026e2a0]
cmp eax, dword [ecx + 4]
jle 0x100cf5a9
push 0x1026e2a0
call fcn.100e1a85
add esp, 4
cmp dword [0x1026e2a0], 0xffffffff
jne 0x100cf5a9
mov eax, dword [0x10203134]
push 0x1026e2a0
mov dword [0x1026e2a4], eax
call fcn.100e1a3b
add esp, 4
mov eax, dword [0x1026e2a4]
mov ecx, dword [esp + 0x30]
mov esi, dword [eax + esi]
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [esp + 0x14]
cmp esi, eax
mov esi, dword [0x101faf20]
sete al
mov byte [ecx + edi + 0xa7], al
imul eax, dword [ecx + edi + 0x34], 0x3ba0
add eax, dword [0x10202a80]
mov byte [ecx + edi + 0xa5], 0
mov dword [ecx + edi + 0xc8], 0
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x1c], eax
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [0x102030f4]
lea eax, [ecx + eax*4]
mov eax, dword [eax + esi]
mov esi, dword [esp + 0x14]
mov dword [esi + edi + 0xc4], eax
mov eax, dword [esp + 0x1c]
mov dword [esi + edi + 0x2c], 0
mov byte [esi + edi + 0xaa], 0
test eax, eax
je 0x100cfb3c
cmp dword [eax + 0x3b9c], 0
je 0x100cfac6
mov ecx, dword [eax + 0x3b94]
dec ecx
and ecx, dword [eax + 0x3b98]
mov eax, dword [eax + 0x3b90]
push dword [eax + ecx*4]
lea ecx, [esp + 0x5c]
call fcn.100b8910
cmp dword [esp + 0x6c], 0
je 0x100cfa82
movss xmm1, dword [0x10161a88]
movaps xmm0, xmm1
subss xmm0, dword [esp + 0xb8]
comiss xmm0, xmm1
jbe 0x100cf68a
movaps xmm0, xmm1
jmp 0x100cf692
maxss xmm0, dword [0x10161928]
mov ecx, dword [esp + 0x38]
add ecx, 4
movss dword [esi + edi + 0x2c], xmm0
mov dword [esi + edi + 0x30], 0x3f8ccccd
mov eax, dword [ecx]
mov eax, dword [eax + 0x20]
call eax
mov ecx, dword [0x101faf74]
push eax
mov edx, dword [ecx]
mov edx, dword [edx + 0x78]
call edx
mov ecx, eax
mov dword [esp + 0x18], ecx
test ecx, ecx
je 0x100cfa02
mov ecx, dword [ecx + 0x9c]
xor eax, eax
mov dword [esp + 0x20], eax
test ecx, ecx
jle 0x100cfa02
lea edx, [esp + 0x250]
mov dword [esp + 0x10], eax
mov dword [esp + 0x30], edx
lea edx, [esi + 0x504]
mov esi, dword [esp + 0x18]
add edx, edi
mov edi, dword [esp + 0x30]
cmp eax, ecx
mov dword [esp + 0xc], edx
mov ecx, dword [esp + 0x10]
jg 0x100cf9d3
mov esi, dword [esi + 0xa0]
add esi, ecx
add esi, dword [esp + 0x18]
je 0x100cf9cf
test dword [esi + 0xa0], 0x100
je 0x100cf9cf
cmp dword [esi + 4], 0xffffffff
je 0x100cf9cf
mov ecx, dword [0x101faf8c]
movss xmm0, dword [edi]
movss dword [esp + 0x30], xmm0
movss xmm0, dword [edi + 0x10]
mov eax, dword [ecx]
movss dword [esp + 0x2c], xmm0
mov eax, dword [eax + 0x94]
call eax
movss xmm7, dword [edi - 0x10]
movss xmm5, dword [edi]
movaps xmm6, xmm7
movss xmm1, dword [edi + 0x10]
movaps xmm0, xmm5
mulss xmm0, dword [eax + 0x34]
mulss xmm6, dword [eax + 0x30]
addss xmm6, xmm0
movaps xmm0, xmm1
mulss xmm0, dword [eax + 0x38]
addss xmm0, dword [eax + 0x3c]
addss xmm6, xmm0
movss xmm0, dword [0x10161960]
comiss xmm0, xmm6
ja 0x100cf879
mulss xmm5, dword [eax + 4]
movaps xmm0, xmm7
mov ecx, dword [esp + 0xc]
mulss xmm0, dword [eax]
movss xmm2, dword [0x10161a80]
divss xmm2, xmm6
addss xmm5, xmm0
movaps xmm0, xmm1
mulss xmm0, dword [eax + 8]
movaps xmm6, xmm2
addss xmm0, dword [eax + 0xc]
addss xmm5, xmm0
movss dword [ecx - 0x404], xmm5
movss xmm0, dword [eax + 0x10]
movss xmm4, dword [eax + 0x14]
movss xmm3, dword [eax + 0x18]
movss xmm1, dword [eax + 0x1c]
mulss xmm7, xmm0
movss xmm0, dword [esp + 0x30]
mulss xmm0, xmm4
mulss xmm6, xmm5
addss xmm7, xmm0
movss xmm0, dword [esp + 0x2c]
mulss xmm0, xmm3
movss dword [ecx - 0x404], xmm6
addss xmm6, dword [0x10161a80]
addss xmm0, xmm1
addss xmm7, xmm0
mulss xmm7, xmm2
movss xmm2, dword [0x10161a18]
movss dword [ecx - 0x400], xmm7
mov eax, dword [0x10202920]
mulss xmm6, dword [eax + 0x18]
mulss xmm6, xmm2
movss dword [ecx - 0x404], xmm6
mov eax, dword [0x10202920]
movss xmm1, dword [eax + 0x1c]
movaps xmm0, xmm1
mulss xmm1, xmm7
mulss xmm0, xmm2
mulss xmm1, xmm2
subss xmm0, xmm1
movss dword [ecx - 0x400], xmm0
mov eax, dword [esi + 4]
mov ecx, dword [0x101faf8c]
lea eax, [eax + eax*2]
add eax, eax
movss xmm0, dword [esp + eax*8 + 0x240]
movss dword [esp + 0x30], xmm0
movss xmm0, dword [esp + eax*8 + 0x250]
movss dword [esp + 0x34], xmm0
movss xmm0, dword [esp + eax*8 + 0x260]
mov eax, dword [ecx]
movss dword [esp + 0x2c], xmm0
mov eax, dword [eax + 0x94]
call eax
movss xmm7, dword [esp + 0x34]
movss xmm1, dword [esp + 0x30]
movaps xmm5, xmm7
movss xmm2, dword [esp + 0x2c]
movaps xmm0, xmm1
mulss xmm0, dword [eax + 0x30]
mov edx, dword [esp + 0xc]
mulss xmm5, dword [eax + 0x34]
addss xmm5, xmm0
movaps xmm0, xmm2
mulss xmm0, dword [eax + 0x38]
addss xmm0, dword [eax + 0x3c]
addss xmm5, xmm0
movss xmm0, dword [0x10161960]
comiss xmm0, xmm5
ja 0x100cf9c7
movaps xmm0, xmm1
movaps xmm4, xmm7
mulss xmm0, dword [eax]
mulss xmm4, dword [eax + 4]
movss xmm1, dword [0x10161a80]
divss xmm1, xmm5
addss xmm4, xmm0
movaps xmm0, xmm2
mulss xmm0, dword [eax + 8]
movaps xmm5, xmm1
addss xmm0, dword [eax + 0xc]
addss xmm4, xmm0
movss dword [edx - 4], xmm4
movss xmm2, dword [eax + 0x14]
movss xmm6, dword [eax + 0x10]
movss xmm3, dword [eax + 0x18]
movss xmm0, dword [eax + 0x1c]
mulss xmm6, dword [esp + 0x30]
mulss xmm3, dword [esp + 0x2c]
mulss xmm7, xmm2
movss xmm2, dword [0x10161a18]
addss xmm3, xmm0
mulss xmm5, xmm4
addss xmm6, xmm7
movss dword [edx - 4], xmm5
addss xmm5, dword [0x10161a80]
addss xmm6, xmm3
mulss xmm6, xmm1
movss dword [edx], xmm6
mov eax, dword [0x10202920]
mulss xmm5, dword [eax + 0x18]
mulss xmm5, xmm2
movss dword [edx - 4], xmm5
mov eax, dword [0x10202920]
movss xmm1, dword [eax + 0x1c]
movaps xmm0, xmm1
mulss xmm1, xmm6
mulss xmm0, xmm2
mulss xmm1, xmm2
subss xmm0, xmm1
movss dword [edx], xmm0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
mov esi, dword [esp + 0x18]
add ecx, 0xd8
inc eax
add edx, 8
mov dword [esp + 0x10], ecx
mov ecx, dword [esi + 0x9c]
add edi, 0x30
mov dword [esp + 0x20], eax
mov dword [esp + 0xc], edx
cmp eax, ecx
jl 0x100cf703
mov edi, dword [esp + 0x40]
mov esi, dword [esp + 0x14]
cmp byte [esp + 0x5e], 0
je 0x100cfa11
mov byte [esi + edi + 0xaa], 1
lea ecx, [edi + 0xac]
add ecx, esi
lea eax, [esp + 0x8c]
cmp ecx, eax
je 0x100cfa41
cmp dword [esp + 0xa0], 0x10
push dword [esp + 0x9c]
cmovae eax, dword [esp + 0x90]
push eax
call fcn.10046140
mov eax, dword [esp + 0x88]
cmp eax, 0xd
je 0x100cfa75
cmp eax, 9
je 0x100cfa75
mov ecx, dword [esp + 0xa4]
cmp ecx, 6
je 0x100cfa75
cmp eax, 0xb
jge 0x100cfa68
cmp ecx, 7
jne 0x100cfa8a
mov dword [esi + edi + 0xc8], 2
jmp 0x100cfa8a
mov dword [esi + edi + 0xc8], 1
jmp 0x100cfa8a
mov byte [esi + edi + 0xaa], 1
mov edx, dword [esp + 0xa0]
cmp edx, 0x10
jb 0x100cfac6
mov ecx, dword [esp + 0x8c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100cfabc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cdeef
push edx
push ecx
call fcn.100e1eaa
add esp, 8
mov eax, dword [0x101faed8]
mov ecx, dword fs:[0x2c]
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x10203060]
mov dword [esp + 0x18], ecx
cmp eax, dword [ecx + 4]
jle 0x100cfb13
push 0x10203060
call fcn.100e1a85
add esp, 4
cmp dword [0x10203060], 0xffffffff
jne 0x100cfb13
mov eax, dword [0x10203028]
push 0x10203060
mov dword [0x1020307c], eax
call fcn.100e1a3b
add esp, 4
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x38]
mov ecx, dword [esp + 0x14]
movss xmm0, dword [eax + 0x388]
mov eax, dword [0x1020307c]
comiss xmm0, dword [eax + esi]
setae al
mov byte [ecx + edi + 0xa5], al
jmp 0x100cfb40
mov esi, dword [esp + 0x38]
mov eax, dword [esi + 0x2970]
mov dword [esp + 0x1c], eax
cmp dword [eax + 0x68], 0
je 0x100cfbb7
mov eax, dword [eax + 0x50]
lea ecx, [esi + 4]
mov dword [esp + 0x34], eax
mov eax, dword [ecx]
mov eax, dword [eax + 0x20]
call eax
mov ecx, dword [0x101faf74]
push eax
mov edx, dword [ecx]
mov edx, dword [edx + 0x78]
call edx
test eax, eax
je 0x100cfba6
push dword [esp + 0x34]
mov ecx, dword [esp + 0x3c]
mov edx, eax
mov esi, dword [0x101fb4c4]
call esi
cmp eax, 0x3c7
jne 0x100cfba6
mov eax, dword [esp + 0x1c]
movss xmm0, dword [eax + 0x58]
ucomiss xmm0, dword [0x10161928]
lahf
test ah, 0x44
jnp 0x100cfba6
mov cl, 1
jmp 0x100cfba8
xor cl, cl
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x38]
mov byte [eax + edi + 0xa6], cl
mov ecx, dword [esp + 0x18]
mov eax, dword [0x102052c8]
cmp eax, dword [ecx + 4]
jle 0x100cfbf5
push 0x102052c8
call fcn.100e1a85
add esp, 4
cmp dword [0x102052c8], 0xffffffff
jne 0x100cfbf5
mov eax, dword [0x10203174]
push 0x102052c8
mov dword [0x102052fc], eax
call fcn.100e1a3b
add esp, 4
mov eax, dword [0x102052fc]
mov ecx, dword [esp + 0x14]
movss xmm0, dword [eax + esi]
comiss xmm0, dword [0x10161928]
seta al
mov byte [ecx + edi + 0xa3], al
mov eax, dword [0x101faf10]
mov ecx, dword [esp + 0x18]
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x34], eax
mov eax, dword [0x10203078]
cmp eax, dword [ecx + 4]
jle 0x100cfc60
push 0x10203078
call fcn.100e1a85
add esp, 4
cmp dword [0x10203078], 0xffffffff
jne 0x100cfc60
mov eax, dword [0x1020301c]
push 0x10203078
mov dword [0x10203004], eax
call fcn.100e1a3b
add esp, 4
mov eax, dword [0x10203004]
mov ecx, dword [0x101faf10]
push dword [eax + esi]
call dword [esp + 0x38]
mov esi, eax
mov dword [esp + 0x10], esi
test esi, esi
je 0x100ce613
mov eax, dword [esp + 0x18]
mov ecx, dword [0x10202efc]
cmp ecx, dword [eax + 4]
jle 0x100cfcbf
push 0x10202efc
call fcn.100e1a85
add esp, 4
cmp dword [0x10202efc], 0xffffffff
jne 0x100cfcbf
mov eax, dword [0x10202f14]
push 0x10202efc
mov dword [0x10202f0c], eax
call fcn.100e1a3b
add esp, 4
mov eax, dword [0x10202f0c]
movsx eax, word [eax + esi]
cmp eax, 0x1f4
jg 0x100cfef1
je 0x100cfeea
dec eax
cmp eax, 0x51
ja case.0x100cfefb.510
movzx eax, byte [eax + 0x100d01cc]
jmp dword [eax*4 + 0x100d00f8]
mov ecx, 0x10161708
jmp 0x100cff46
mov ecx, 0x10161704
jmp 0x100cff46
mov ecx, 0x10161700
jmp 0x100cff46
mov ecx, 0x10161724
jmp 0x100cff46
mov ecx, 0x10161720
jmp 0x100cff46
mov ecx, 0x1016171c
jmp 0x100cff46
mov ecx, 0x10161718
jmp 0x100cff46
mov ecx, 0x10161734
jmp 0x100cff46
mov ecx, 0x10161730
jmp 0x100cff46
mov ecx, 0x1016172c
jmp 0x100cff46
mov ecx, 0x10161728
jmp 0x100cff46
mov ecx, 0x10161744
jmp 0x100cff46
mov ecx, 0x10161740
jmp 0x100cff46
mov ecx, 0x1016173c
jmp 0x100cff46
mov ecx, 0x10161738
jmp 0x100cff46
mov ecx, 0x10161754
jmp 0x100cff46
mov ecx, 0x10161750
jmp 0x100cff46
mov ecx, 0x1016174c
jmp 0x100cff46
mov ecx, 0x10161748
jmp 0x100cff46
mov ecx, 0x10161764
jmp 0x100cff46
mov ecx, 0x10161760
jmp 0x100cff46
mov ecx, 0x1016175c
jmp 0x100cff46
mov ecx, 0x10161758
jmp 0x100cff46
mov ecx, 0x10161774
jmp 0x100cff46
mov ecx, 0x10161770
jmp 0x100cff46
mov ecx, 0x1016176c
jmp 0x100cff46
mov ecx, 0x10161768
jmp 0x100cff46
mov ecx, 0x10161784
jmp 0x100cff46
mov ecx, 0x10161780
jmp 0x100cff46
mov ecx, 0x1016177c
jmp 0x100cff46
mov ecx, 0x10161778
jmp 0x100cff46
mov ecx, 0x10161794
jmp 0x100cff46
mov ecx, 0x10161790
jmp 0x100cff46
mov ecx, 0x1016178c
jmp 0x100cff46
mov ecx, 0x10161788
jmp 0x100cff46
mov ecx, 0x101617a4
jmp 0x100cff46
mov ecx, 0x101617a0
jmp 0x100cff46
mov ecx, 0x1016179c
jmp 0x100cff46
mov ecx, 0x10161798
jmp 0x100cff46
mov ecx, 0x101617b4
jmp 0x100cff46
mov ecx, 0x101617b0
jmp 0x100cff46
mov ecx, 0x101617ac
jmp 0x100cff46
mov ecx, 0x101617a8
jmp 0x100cff46
mov ecx, 0x101617c4
jmp 0x100cff46
mov ecx, 0x101617c0
jmp 0x100cff46
mov ecx, 0x101617bc
jmp 0x100cff46
mov ecx, 0x101617b8
jmp 0x100cff46
mov ecx, 0x101617d4
jmp 0x100cff46
mov ecx, 0x101617d0
jmp 0x100cff46
mov ecx, 0x101617cc
jmp 0x100cff46
mov ecx, 0x101617c8
jmp 0x100cff46
mov ecx, 0x101617e4
jmp 0x100cff46
mov ecx, 0x101617e0
jmp 0x100cff46
sub eax, 0x1f9
cmp eax, 0xb
ja case.0x100cfefb.510
jmp dword [eax*4 + 0x100d0220]
mov ecx, 0x101617dc
jmp 0x100cff46
mov ecx, 0x101617d8
jmp 0x100cff46
mov ecx, 0x101617f4
jmp 0x100cff46
mov ecx, 0x101617f0
jmp 0x100cff46
mov ecx, 0x101617ec
jmp 0x100cff46
mov ecx, 0x101617e8
jmp 0x100cff46
mov ecx, 0x10161804
jmp 0x100cff46
mov ecx, 0x10161800
jmp 0x100cff46
mov ecx, 0x101617fc
jmp 0x100cff46
mov ecx, 0x101617f8
mov edx, ecx
lea esi, [edx + 1]
nop dword [eax + eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x100cff50
sub edx, esi
mov esi, dword [esp + 0x14]
push edx
push ecx
lea ecx, [esi + 0x58]
add ecx, edi
call fcn.10046140
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x386c]
push eax
call fcn.100cbb70
lea ecx, [esi + 0x70]
push eax
add ecx, edi
call fcn.10045980
mov edx, dword [esp + 0x3880]
cmp edx, 0x10
jb 0x100cffc1
mov ecx, dword [esp + 0x386c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100cffb7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cdeef
push edx
push ecx
call fcn.100e1eaa
add esp, 8
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx]
mov eax, dword [eax + 0x6f8]
call eax
mov dword [esp + 0x34], eax
test eax, eax
jne 0x100cffdf
mov ecx, dword [esp + 0x10]
xor al, al
jmp 0x100d0056
mov eax, dword [0x101faed8]
mov ecx, dword fs:[0x2c]
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x10202efc]
cmp eax, dword [ecx + 4]
jle 0x100d0028
push 0x10202efc
call fcn.100e1a85
add esp, 4
cmp dword [0x10202efc], 0xffffffff
jne 0x100d0028
mov eax, dword [0x10202f14]
push 0x10202efc
mov dword [0x10202f0c], eax
call fcn.100e1a3b
add esp, 4
mov eax, dword [0x10202f0c]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x34]
cmp word [eax + ecx], 0x1f
mov edx, dword [edx + 0xc8]
je 0x100d0054
test edx, edx
je 0x100d0054
cmp edx, 7
jl 0x100d0050
cmp edx, 0x10
jle 0x100d0054
xor al, al
jmp 0x100d0056
mov al, 1
mov byte [esi + edi + 0x1a], al
mov eax, dword [ecx]
mov eax, dword [eax + 0x6f8]
call eax
mov dword [esp + 0x34], eax
test eax, eax
je 0x100ce613
mov ecx, dword fs:[0x2c]
mov eax, dword [0x101faed8]
mov edx, dword [ecx + eax*4]
mov ecx, dword [0x10203368]
cmp ecx, dword [edx + 4]
jle 0x100d00ba
push 0x10203368
call fcn.100e1a85
add esp, 4
cmp dword [0x10203368], 0xffffffff
jne 0x100d00ba
mov eax, dword [0x1020314c]
push 0x10203368
mov dword [0x10203354], eax
call fcn.100e1a3b
add esp, 4
mov eax, dword [0x10203354]
mov ecx, dword [esp + 0x10]
movd xmm0, dword [eax + ecx]
mov eax, dword [esp + 0x34]
cvtdq2ps xmm0, xmm0
movss dword [esi + edi + 0x1c], xmm0
movd xmm0, dword [eax + 0x14]
cvtdq2ps xmm0, xmm0
movss dword [esi + edi + 0x20], xmm0
jmp 0x100ce613
mov eax, dword [esp + 0x18]
mov dword [eax + 0x10], 0
jmp 0x100ce610