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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x198
push esi
push edi
mov edi, ecx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x24], edi
call fcn.100607e5
mov ecx, edi
call fcn.1006297a
xor eax, eax
xorps xmm0, xmm0
mov ecx, edi
mov dword [esp + 0x54], eax
mov dword [edi + 0x30], eax
mov dword [edi + 0x2c], eax
movups xmmword [edi + 0x34], xmm0
call fcn.10060827
mov esi, dword [edi + 0x5c]
xor eax, eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x38], esi
push 8
pop edx
test esi, esi
jle 0x1006118d
cmp esi, edx
mov eax, esi
cmovl eax, edx
test eax, eax
jle 0x1006118d
imul ecx, eax, 0xc4
call fcn.10049a25
push 8
mov dword [esp + 0x2c], eax
pop edx
mov eax, dword [edi + 0x44]
mov dword [esp + 0x1c], eax
test eax, eax
jle 0x100611af
cmp eax, edx
mov ecx, eax
cmovl ecx, edx
test ecx, ecx
jle 0x100611af
imul ecx, ecx, 0x18
call fcn.10049a25
mov dword [esp + 0x40], eax
imul eax, esi, 0xc4
xor esi, esi
push eax
push esi
push dword [esp + 0x30]
call sub.VCRUNTIME140.dll_memset
imul eax, dword [esp + 0x28], 0x18
add esp, 0xc
push eax
push esi
push dword [esp + 0x48]
call sub.VCRUNTIME140.dll_memset
xor ecx, ecx
add esp, 0xc
mov dword [esp + 0x14], ecx
cmp dword [edi + 0x5c], ecx
jle 0x100612eb
mov esi, dword [esp + 0x28]
mov edx, ecx
mov dword [esp + 0x10], edx
add esi, 0xa4
mov eax, dword [edi + 0x64]
or dword [esi - 4], 0xffffffff
add eax, edx
mov edx, ecx
mov dword [esp + 0x20], eax
cmp dword [edi + 0x44], ecx
jle 0x10061e24
or ecx, 0xffffffff
mov dword [esp + 8], ecx
cmp ecx, 0xffffffff
jne 0x10061243
or dword [esp + 0x18], ecx
mov ecx, dword [edi + 0x4c]
mov eax, dword [eax + 0x74]
cmp eax, dword [ecx + edx*4]
jne 0x10061231
mov dword [esi - 4], edx
mov ecx, edx
jmp 0x10061235
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
inc edx
mov dword [esp + 8], ecx
cmp edx, dword [edi + 0x44]
jl 0x10061212
cmp dword [esp + 8], 0xffffffff
je 0x10061e24
mov edx, dword [eax + 0xc]
mov ecx, dword [eax]
call fcn.10056d01
mov edx, dword [esp + 0x20]
lea ecx, [esi - 0xa4]
push eax
mov edx, dword [edx]
call fcn.10056e3f
pop ecx
test eax, eax
je 0x10061e24
imul eax, dword [esi - 4], 0x18
mov edx, 0x102727e0
mov ecx, dword [esp + 0x20]
add eax, dword [esp + 0x40]
cmp dword [ecx + 0x30], 0
mov dword [esp + 8], eax
cmovne edx, dword [ecx + 0x30]
xor ecx, ecx
mov dword [esi - 8], edx
cmp word [edx], cx
je 0x100612b6
movzx eax, word [edx + 2]
test ax, ax
je 0x100612b2
cmp dword [esi], eax
cmovge eax, dword [esi]
add edx, 4
mov dword [esi], eax
cmp word [edx], cx
jne 0x1006129a
mov eax, dword [esp + 8]
mov edx, dword [esp + 8]
inc dword [eax]
mov eax, dword [esi]
cmp dword [edx + 4], eax
cmovge eax, dword [edx + 4]
add esi, 0xc4
mov dword [edx + 4], eax
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
inc eax
add edx, 0x78
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edx
cmp eax, dword [edi + 0x5c]
jl 0x100611f7
mov eax, dword [esp + 0x38]
mov dword [esp + 0x2c], ecx
test eax, eax
jle 0x100614d2
mov edi, dword [esp + 0x28]
add edi, 0xa8
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edi
xor esi, esi
imul eax, dword [edi - 8], 0x18
lea ecx, [edi + 4]
add eax, dword [esp + 0x40]
mov dword [esp + 0xc], eax
mov eax, dword [edi - 4]
inc eax
push eax
call fcn.100562f7
mov edx, dword [esp + 0xc]
lea ecx, [edx + 0xc]
cmp dword [ecx], esi
jne 0x10061341
mov eax, dword [edx + 4]
inc eax
push eax
call fcn.100562f7
mov edx, dword [esp + 0xc]
mov eax, dword [edi - 0xc]
jmp 0x10061402
movzx ecx, word [eax + 2]
mov dword [esp + 0x18], ecx
test cx, cx
je 0x1006140f
movzx ecx, word [eax]
mov eax, dword [esp + 0x18]
movzx eax, ax
jmp 0x100613ef
mov edx, dword [edx + 0x14]
mov eax, ecx
sar eax, 5
and ecx, 0x1f
mov dword [esp + 0x30], eax
xor eax, eax
inc eax
mov dword [esp + 8], ecx
shl eax, cl
mov ecx, dword [esp + 0x30]
test dword [edx + ecx*4], eax
jne 0x100613de
mov edx, dword [esp + 0x20]
lea ecx, [edi - 0xa8]
call fcn.1005724a
mov edx, dword [esp + 0xc]
test eax, eax
je 0x100613e2
inc dword [edi]
inc dword [edx + 8]
mov ecx, dword [edi + 0xc]
mov eax, dword [esp + 0x30]
mov edi, dword [esp + 8]
mov eax, dword [ecx + eax*4]
bts eax, edi
mov edi, dword [esp + 0x30]
mov dword [ecx + edi*4], eax
mov eax, edi
mov ecx, dword [edx + 0x14]
mov edi, dword [esp + 8]
mov eax, dword [ecx + eax*4]
bts eax, edi
mov edi, dword [esp + 0x30]
inc dword [esp + 0x2c]
mov dword [ecx + edi*4], eax
mov edi, dword [esp + 0x14]
jmp 0x100613e2
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x20]
inc ecx
movzx eax, word [eax + 2]
mov dword [esp + 0x20], ecx
cmp ecx, eax
jbe 0x10061369
mov eax, dword [esp + 0x44]
add eax, 4
mov dword [esp + 0x44], eax
cmp word [eax], si
jne 0x10061349
add edi, 0xc4
sub dword [esp + 0x10], 1
mov dword [esp + 0x14], edi
jne 0x1006130f
mov esi, dword [esp + 0x28]
mov eax, dword [esp + 0x38]
add esi, 0xb8
mov edi, dword [esp + 0x24]
mov dword [esp + 0x10], eax
push dword [esi - 0x10]
mov ecx, esi
call fcn.10055bd0
mov ecx, dword [esi - 4]
mov eax, dword [esi - 0xc]
mov dword [esp + 8], ecx
lea eax, [ecx + eax*4]
mov dword [esp + 0x48], eax
cmp ecx, eax
jae 0x100614b3
xor edx, edx
mov dword [esp + 0x14], edx
mov eax, dword [ecx]
mov dword [esp + 0x18], eax
test eax, eax
je 0x1006149b
xor edi, edi
xor eax, eax
mov ecx, edi
inc eax
shl eax, cl
test dword [esp + 0x18], eax
je 0x10061491
and edx, 0xffffffe0
lea eax, [esp + 0x34]
add edx, edi
mov ecx, esi
push eax
mov dword [esp + 0x38], edx
call fcn.1005590c
mov edx, dword [esp + 0x14]
inc edi
cmp edi, 0x20
jb 0x1006146b
mov ecx, dword [esp + 8]
add ecx, 4
add edx, 0x20
mov dword [esp + 8], ecx
mov dword [esp + 0x14], edx
cmp ecx, dword [esp + 0x48]
jb 0x1006145f
mov edi, dword [esp + 0x24]
lea ecx, [esi - 0xc]
call fcn.10055c35
add esi, 0xc4
sub dword [esp + 0x10], 1
jne 0x1006143a
mov esi, dword [esp + 0x2c]
jmp 0x100614d8
mov esi, ecx
mov dword [esp + 0x2c], esi
cmp dword [esp + 0x1c], 0
jle 0x10061501
mov esi, dword [esp + 0x40]
mov edi, dword [esp + 0x1c]
add esi, 0xc
mov ecx, esi
call fcn.10055c35
add esi, 0x18
sub edi, 1
jne 0x100614ea
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 0x2c]
mov eax, dword [esp + 0x40]
test eax, eax
je 0x10061518
mov ecx, eax
call fcn.10049a3d
xor eax, eax
mov dword [esp + 0x40], eax
jmp 0x1006151a
xor eax, eax
push esi
lea ecx, [esp + 0x6c]
mov dword [esp + 0x70], eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x48], eax
call fcn.100643ae
test esi, esi
jle 0x10061552
push 8
pop ecx
cmp esi, ecx
mov eax, esi
cmovl eax, ecx
test eax, eax
jle 0x10061552
imul ecx, eax, 0x1c
call fcn.10049a25
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x68]
xor esi, esi
shl eax, 4
push eax
mov eax, dword [esp + 0x74]
push esi
push eax
mov dword [esp + 0x2c], eax
call sub.VCRUNTIME140.dll_memset
imul eax, dword [esp + 0x38], 0x1c
add esp, 0xc
push eax
push esi
push dword [esp + 0x4c]
call sub.VCRUNTIME140.dll_memset
mov esi, dword [esp + 0x44]
xor edx, edx
add esp, 0xc
mov dword [esp + 0x1c], edx
mov dword [esp + 0x2c], edx
mov ecx, edx
mov dword [esp + 8], ecx
test esi, esi
jle 0x100617a0
mov eax, dword [esp + 0x38]
mov esi, dword [esp + 0x28]
mov ecx, dword [esp + 0x38]
add esi, 0x98
mov dword [esp + 0x14], eax
mov eax, edx
mov dword [esp + 0x30], edx
cmp dword [esi + 0x10], 0
je 0x1006177e
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x44]
shl eax, 4
add eax, dword [esp + 0x20]
mov dword [esi - 4], eax
imul eax, dword [esp + 0x2c], 0x1c
add ecx, eax
mov eax, dword [esp + 0x1c]
add eax, dword [esi + 0x10]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x2c]
add eax, dword [esi + 0x10]
mov dword [esp + 0x2c], eax
mov dword [esi], ecx
mov eax, dword [edi + 0x64]
add eax, dword [esp + 0x30]
mov dword [esp + 0x48], eax
mov eax, dword [eax + 0x10]
mov dword [esi - 0x1c], eax
mov eax, dword [esi + 0x28]
mov dword [esi - 0xc], ecx
mov ecx, dword [esp + 0x48]
mov dword [esi - 0x14], eax
mov eax, dword [esi + 0x20]
mov dword [esi - 0x10], eax
mov dword [esi - 0x18], edx
mov al, byte [ecx + 0x14]
mov byte [esi - 8], al
mov al, byte [ecx + 0x18]
mov byte [esi - 7], al
lea eax, [esi - 0x98]
movss xmm1, dword [ecx + 0x10]
comiss xmm1, dword [0x10273d1c]
mov dword [esp + 0xc], eax
jbe 0x10061655
mov ecx, eax
call fcn.10058e75
mov ecx, dword [esp + 0xc]
movaps xmm1, xmm0
movss dword [esp + 0x18], xmm0
jmp 0x10061690
mov edx, dword [esi - 0x94]
mov eax, dword [esi - 0x84]
movzx ecx, byte [edx + eax + 0x12]
movzx eax, byte [edx + eax + 0x13]
shl ecx, 8
add ecx, eax
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xc], ecx
divss xmm1, xmm0
xorps xmm1, xmmword [0x10274710]
movss dword [esp + 0x18], xmm1
mov eax, dword [edi + 0x10]
xor edx, edx
mov dword [esp + 0x10], edx
cmp dword [esi + 0x20], edx
jle 0x10061776
mov edi, dword [esp + 0x48]
movzx eax, ax
mov dword [esp + 0x60], eax
mov dword [esp + 0x3c], eax
mov eax, edx
mov dword [esp + 0x34], edx
mov edx, dword [esi + 0x28]
mov edx, dword [edx + eax*4]
call fcn.1005724a
movd xmm3, dword [edi + 0x18]
lea ecx, [esp + 0x50]
movd xmm2, dword [edi + 0x14]
mov edx, eax
push ecx
lea ecx, [esp + 0x5c]
push ecx
lea ecx, [esp + 0x6c]
push ecx
cvtdq2ps xmm3, xmm3
lea ecx, [esp + 0x68]
push ecx
push ecx
push ecx
mov ecx, dword [esp + 0x24]
cvtdq2ps xmm2, xmm2
mulss xmm3, xmm1
mulss xmm2, xmm1
call fcn.10058eaa
mov ecx, dword [esp + 0x70]
add esp, 0x18
sub ecx, dword [esp + 0x5c]
add ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x34]
dec cx
add cx, word [edi + 0x14]
mov eax, dword [esi - 4]
movss xmm1, dword [esp + 0x18]
mov word [edx + eax + 4], cx
mov cx, word [edi + 0x18]
sub cx, word [esp + 0x64]
mov eax, dword [esi - 4]
dec cx
add cx, word [esp + 0x50]
add cx, word [esp + 0x3c]
mov word [edx + eax + 6], cx
mov eax, dword [esi - 4]
movzx ecx, word [edx + eax + 6]
movzx eax, word [edx + eax + 4]
add edx, 0x10
imul ecx, eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x34], edx
add dword [esp + 8], ecx
inc eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x20]
jl 0x100616b7
mov edi, dword [esp + 0x24]
xor edx, edx
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x30]
add eax, 0x78
add esi, 0xc4
sub ecx, 1
mov dword [esp + 0x30], eax
mov dword [esp + 0x14], ecx
jne 0x100615b9
mov esi, dword [esp + 0x38]
mov ecx, dword [esp + 8]
mov eax, dword [edi + 0xc]
mov dword [edi + 0x30], edx
test eax, eax
jg 0x100617f3
movd xmm0, ecx
mov ecx, 0x400
cvtdq2ps xmm0, xmm0
sqrtss xmm0, xmm0
cvttss2si eax, xmm0
inc eax
movd xmm0, eax
mov eax, 0x200
cvtdq2ps xmm0, xmm0
comiss xmm0, dword [0x1027420c]
cmovae eax, ecx
mov ecx, 0x800
comiss xmm0, dword [0x10274224]
cmovae eax, ecx
mov ecx, 0x1000
comiss xmm0, dword [0x10274228]
cmovae eax, ecx
push 0x2c
mov dword [edi + 0x2c], eax
lea eax, [esp + 0x78]
push edx
push eax
call sub.VCRUNTIME140.dll_memset
pop ecx
pop ecx
push dword [edi + 0x10]
push ecx
push ecx
push dword [edi + 0x2c]
lea ecx, [esp + 0x88]
call fcn.1005a775
mov edx, dword [esp + 0x8c]
add esp, 0x14
mov ecx, edi
call fcn.10061ec0
test esi, esi
jle 0x100618b6
mov eax, dword [esp + 0x28]
add eax, 0xa8
mov dword [esp + 0x3c], eax
mov eax, esi
mov esi, dword [esp + 0x3c]
mov dword [esp + 8], eax
cmp dword [esi], 0
je 0x100618a7
push dword [esi]
mov edx, dword [esi - 0x14]
mov ecx, dword [esp + 0x7c]
call fcn.100567ce
xor eax, eax
pop ecx
mov ecx, eax
mov dword [esp + 0x18], ecx
cmp dword [esi], eax
jle 0x100618a3
mov edx, eax
mov edi, dword [esi - 0x14]
cmp dword [edx + edi + 0xc], eax
mov edi, dword [esp + 0x24]
je 0x10061897
mov eax, dword [esi - 0x14]
movzx ecx, word [edx + eax + 0xa]
movzx eax, word [edx + eax + 6]
add ecx, eax
cmp dword [edi + 0x30], ecx
cmovge ecx, dword [edi + 0x30]
xor eax, eax
mov dword [edi + 0x30], ecx
mov ecx, dword [esp + 0x18]
inc ecx
add edx, 0x10
mov dword [esp + 0x18], ecx
cmp ecx, dword [esi]
jl 0x1006186b
mov eax, dword [esp + 8]
add esi, 0xc4
sub eax, 1
mov dword [esp + 8], eax
jne 0x10061849
test byte [edi + 4], 1
mov eax, dword [edi + 0x30]
jne 0x100618e4
lea ecx, [eax - 1]
mov eax, ecx
sar eax, 1
or ecx, eax
mov eax, ecx
sar eax, 2
or ecx, eax
mov eax, ecx
sar eax, 4
or ecx, eax
mov eax, ecx
sar eax, 8
or ecx, eax
mov eax, ecx
sar eax, 0x10
or eax, ecx
movd xmm0, dword [edi + 0x2c]
lea ecx, [eax + 1]
movss xmm1, dword [0x10273ea0]
cvtdq2ps xmm0, xmm0
mov dword [edi + 0x30], ecx
movaps xmm2, xmm1
divss xmm2, xmm0
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
imul ecx, dword [edi + 0x2c]
divss xmm1, xmm0
movss dword [edi + 0x34], xmm2
movss dword [edi + 0x38], xmm1
call fcn.10049a25
mov ecx, eax
xor esi, esi
mov eax, dword [edi + 0x30]
imul eax, dword [edi + 0x2c]
mov dword [edi + 0x24], ecx
push eax
push esi
push ecx
call sub.VCRUNTIME140.dll_memset
mov eax, dword [edi + 0x24]
add esp, 0xc
mov esi, dword [esp + 0x38]
mov dword [esp + 0x98], eax
mov eax, dword [edi + 0x30]
mov dword [esp + 0x80], eax
test esi, esi
jle 0x10061a9a
mov edx, dword [esp + 0x28]
xor ecx, ecx
add edx, 0xa8
mov dword [esp + 0x1c], ecx
mov dword [esp + 0xc], edx
mov eax, ecx
mov dword [esp + 0x34], esi
mov esi, dword [edi + 0x64]
add esi, eax
cmp dword [edx], ecx
je 0x10061a7a
push dword [edx - 0x14]
lea eax, [edx - 0x2c]
add edx, 0xffffff58
push ecx
push eax
lea ecx, [esp + 0x80]
call fcn.1005ac4a
movss xmm1, dword [esi + 0x44]
add esp, 0xc
ucomiss xmm1, dword [0x10273ea0]
lahf
test ah, 0x44
jnp 0x10061a6d
lea ecx, [esp + 0xa0]
call fcn.100610c4
mov edx, dword [esp + 0xc]
xor ecx, ecx
mov esi, ecx
mov dword [esp + 0x14], esi
mov eax, dword [edx - 0x14]
cmp dword [edx], ecx
jle 0x10061a73
add eax, 4
mov dword [esp + 0x10], eax
cmp dword [eax + 8], ecx
je 0x10061a57
mov edx, dword [edi + 0x2c]
movzx esi, word [eax + 6]
mov dword [esp + 0x18], edx
imul esi, dword [esp + 0x18]
movzx edx, word [eax]
movzx eax, word [eax + 4]
mov dword [esp + 0x3c], edx
add esi, eax
mov eax, dword [esp + 0x10]
add esi, dword [edi + 0x24]
movzx edx, word [eax + 2]
mov dword [esp + 8], edx
test edx, edx
mov edx, dword [esp + 0xc]
je 0x10061a53
mov eax, dword [esp + 8]
mov edx, dword [esp + 0x3c]
mov edi, ecx
test edx, edx
je 0x10061a3a
movzx eax, byte [esi + edi]
mov al, byte [esp + eax + 0xa0]
mov byte [esi + edi], al
inc edi
cmp edi, edx
jl 0x10061a23
mov eax, dword [esp + 8]
add esi, dword [esp + 0x18]
dec eax
mov dword [esp + 8], eax
test eax, eax
jg 0x10061a1d
mov edi, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
inc esi
add eax, 0x10
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], eax
cmp esi, dword [edx]
jl 0x100619dc
jmp 0x10061a73
mov edx, dword [esp + 0xc]
xor ecx, ecx
mov eax, dword [esp + 0x1c]
mov dword [edx - 0x14], ecx
add eax, 0x78
add edx, 0xc4
sub dword [esp + 0x34], 1
mov dword [esp + 0x1c], eax
mov dword [esp + 0xc], edx
jne 0x10061972
mov esi, dword [esp + 0x38]
mov ecx, dword [esp + 0x9c]
call fcn.10049a3d
mov ecx, dword [esp + 0x78]
call fcn.10049a3d
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x10061ac4
call fcn.10049a3d
xor eax, eax
mov dword [esp + 0x20], eax
jmp 0x10061ac6
xor eax, eax
test esi, esi
jle 0x10061d51
mov ecx, dword [esp + 0x28]
mov edx, eax
add ecx, 4
mov dword [esp + 0x1c], edx
mov dword [esp + 0x10], ecx
mov ecx, esi
mov esi, dword [esp + 0x10]
mov dword [esp + 0xc], ecx
cmp dword [esi + 0xa4], eax
je 0x10061d15
mov eax, dword [edi + 0x64]
add eax, edx
mov dword [esp + 0x18], eax
mov ecx, dword [eax + 0x74]
movss xmm1, dword [eax + 0x10]
mov dword [esp + 8], ecx
lea ecx, [esi - 4]
call fcn.10058e75
mov edi, dword [esi + 0x18]
movaps xmm4, xmm0
mov esi, dword [esi]
lea ecx, [esi + 4]
add ecx, edi
call fcn.10056bee
cwde
lea ecx, [esi + 6]
add ecx, edi
mov dword [esp + 0x3c], eax
call fcn.10056bee
cwde
xorps xmm5, xmm5
movd xmm3, dword [esp + 0x3c]
push 1
pop ecx
movd xmm2, eax
or eax, 0xffffffff
cvtdq2ps xmm2, xmm2
push ecx
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x28]
mov edx, dword [esp + 0xc]
cvtdq2ps xmm3, xmm3
comiss xmm2, xmm5
mulss xmm0, xmm2
cmova eax, ecx
mulss xmm4, xmm3
movd xmm1, eax
cvtdq2ps xmm1, xmm1
addss xmm1, xmm0
cvttss2si eax, xmm1
movd xmm0, eax
or eax, 0xffffffff
comiss xmm3, xmm5
cvtdq2ps xmm0, xmm0
cmova eax, ecx
mov ecx, edi
movss dword [esp], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
push esi
addss xmm0, xmm4
cvttss2si eax, xmm0
movd xmm3, eax
cvtdq2ps xmm3, xmm3
call fcn.10061e6e
mov eax, dword [esp + 0x10]
movss xmm7, dword [esi + 0x28]
pop ecx
pop ecx
movss xmm0, dword [eax + 0x44]
addss xmm0, dword [0x10273e38]
movss dword [esp + 0x50], xmm7
cvttss2si eax, xmm0
movd xmm6, eax
xor eax, eax
cvtdq2ps xmm6, xmm6
mov dword [esp + 0x14], eax
addss xmm6, dword [esi + 0x2c]
mov esi, dword [esp + 0x10]
movss dword [esp + 0x3c], xmm6
cmp dword [esi + 0xa4], eax
jle 0x10061d0d
mov edx, eax
mov dword [esp + 0x34], eax
movd xmm0, dword [edi + 0x2c]
sub esp, 0x20
mov ecx, dword [esi + 0x94]
movss xmm1, dword [0x10273ea0]
movss xmm3, dword [0x10273ea0]
cvtdq2ps xmm0, xmm0
movzx eax, word [ecx + edx]
movd xmm5, eax
movzx eax, word [ecx + edx + 2]
divss xmm1, xmm0
movd xmm0, dword [edi + 0x30]
cvtdq2ps xmm0, xmm0
movd xmm4, eax
movzx eax, word [ecx + edx + 4]
divss xmm3, xmm0
movss xmm0, dword [ecx + edx + 0x10]
movd xmm2, eax
movzx eax, word [ecx + edx + 6]
cvtdq2ps xmm5, xmm5
cvtdq2ps xmm2, xmm2
movss dword [esp + 0x1c], xmm0
movaps xmm0, xmm6
addss xmm0, dword [ecx + edx + 0x18]
mulss xmm5, xmm1
mulss xmm2, xmm1
movd xmm1, eax
mov eax, dword [esi + 0xbc]
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm4, xmm4
mulss xmm1, xmm3
mulss xmm4, xmm3
movaps xmm3, xmm7
addss xmm3, dword [ecx + edx + 8]
movss dword [esp + 0x18], xmm1
movss dword [esp + 0x14], xmm2
movss dword [esp + 0x10], xmm4
movss dword [esp + 0xc], xmm5
movss dword [esp + 8], xmm0
movaps xmm0, xmm7
addss xmm0, dword [ecx + edx + 0x14]
movss dword [esp + 4], xmm0
movaps xmm0, xmm6
addss xmm0, dword [ecx + edx + 0xc]
mov ecx, dword [esp + 0x34]
movzx eax, word [eax + ecx*4]
mov ecx, dword [esp + 0x28]
movss dword [esp], xmm0
push eax
push dword [esp + 0x3c]
call fcn.10062eb6
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x34]
inc eax
movss xmm6, dword [esp + 0x3c]
add edx, 0x1c
movss xmm7, dword [esp + 0x50]
mov dword [esp + 0x14], eax
mov dword [esp + 0x34], edx
cmp eax, dword [esi + 0xa4]
jl 0x10061bfa
xor eax, eax
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x1c]
add esi, 0xc4
add edx, 0x78
sub ecx, 1
mov dword [esp + 0x10], esi
mov dword [esp + 0x1c], edx
mov dword [esp + 0xc], ecx
jne 0x10061ae9
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x38]
mov ecx, esi
call fcn.10061e4c
add esi, 0xc4
sub edi, 1
jne 0x10061d3b
mov edi, dword [esp + 0x24]
mov ecx, edi
call fcn.10062a30
sub esp, 0x10
mov ecx, edi
call fcn.10060856
mov esi, dword [edi + 0x14]
test esi, esi
jns 0x10061d90
mov ecx, dword [esp + 0x4c]
xor eax, eax
test ecx, ecx
je 0x10061d75
mov dword [ecx], eax
mov ecx, dword [ebp + 8]
test ecx, ecx
je 0x10061d7e
mov dword [ecx], eax
mov ecx, dword [ebp + 0xc]
test ecx, ecx
je 0x10061d87
mov dword [ecx], eax
mov ecx, dword [ebp + 0x10]
test ecx, ecx
je 0x10061df0
jmp 0x10061dee
mov ecx, dword [edi + 0x2c]
mov eax, dword [edi + 0x30]
dec ecx
cmp esi, ecx
mov edx, ecx
cmovl edx, esi
dec eax
cmp dword [edi + 0x18], eax
mov esi, eax
cmovl esi, dword [edi + 0x18]
cmp dword [edi + 0x1c], ecx
cmovl ecx, dword [edi + 0x1c]
cmp dword [edi + 0x20], eax
cmovl eax, dword [edi + 0x20]
cmp dword [esp + 0x4c], 0
je 0x10061dc3
mov edi, dword [esp + 0x4c]
mov dword [edi], edx
cmp dword [ebp + 8], 0
mov edi, dword [esp + 0x24]
je 0x10061dd6
mov edi, dword [ebp + 8]
mov dword [edi], esi
mov edi, dword [esp + 0x24]
cmp dword [ebp + 0xc], 0
je 0x10061de4
sub ecx, edx
mov edx, dword [ebp + 0xc]
inc ecx
mov dword [edx], ecx
mov ecx, dword [ebp + 0x10]
test ecx, ecx
je 0x10061df0
sub eax, esi
inc eax
mov dword [ecx], eax
or eax, 0xffffffff
mov dword [edi + 0x20], eax
mov dword [edi + 0x1c], eax
mov dword [edi + 0x18], eax
mov dword [edi + 0x14], eax
xor eax, eax
inc eax
mov byte [esp + 0x54], al
mov eax, dword [esp + 0x44]
test eax, eax
je 0x10061e15
mov ecx, eax
call fcn.10049a3d
mov eax, dword [esp + 0x20]
test eax, eax
je 0x10061e24
mov ecx, eax
call fcn.10049a3d
mov eax, dword [esp + 0x40]
test eax, eax
je 0x10061e33
mov ecx, eax
call fcn.10049a3d
mov eax, dword [esp + 0x28]
test eax, eax
je 0x10061e42
mov ecx, eax
call fcn.10049a3d
mov al, byte [esp + 0x54]
pop edi
pop esi
mov esp, ebp
pop ebp
ret