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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x498
mov eax, dword [0x100d200c]
xor eax, ebp
mov dword [ebp - 8], eax
mov eax, dword [0x100e62a0]
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, ecx
push edi
mov dword [ebp - 0x48c], esi
mov edx, dword [esi]
mov ecx, dword [edx + eax]
mov dword [ebp - 0x490], ecx
test ecx, ecx
je 0x1001924f
mov eax, dword [0x100e6290]
movss xmm0, dword [edx + eax]
ucomiss xmm0, dword [esi + 4]
lahf
test ah, 0x44
jnp 0x1001898f
call fcn.10018370
mov eax, dword [0x100e6290]
mov ecx, dword [esi]
mov eax, dword [eax + ecx]
mov dword [esi + 4], eax
mov ecx, dword [0x100e616c]
mov eax, dword [ebx + 0x3fc]
movss xmm0, dword [ecx + 0x10]
movss dword [ebp - 0x494], xmm0
movss xmm0, dword [ecx + 0x14]
mov dword [ecx + 0x10], eax
mov ecx, dword [0x100e616c]
movss dword [ebp - 0x498], xmm0
mov eax, dword [ecx + 0x20]
mov dword [ecx + 0x14], eax
mov eax, dword [0x100e62d0]
mov ecx, dword [esi]
add eax, 0xffffffdc
xor eax, 0x2b43e628
movss xmm0, dword [eax + ecx]
movss dword [ebp - 0x32c], xmm0
movss xmm0, dword [eax + ecx + 4]
movss dword [ebp - 0x328], xmm0
movss xmm0, dword [eax + ecx + 8]
movss dword [ebp - 0x324], xmm0
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
mov edx, dword [esi]
lea edi, [ebp - 0x2ec]
mov esi, dword [0x100e628c]
mov ecx, 0xb6
movss xmm0, dword [eax]
movss dword [ebp - 0x320], xmm0
movss xmm0, dword [eax + 4]
movss dword [ebp - 0x31c], xmm0
movss xmm0, dword [eax + 8]
mov eax, dword [0x100e62d8]
add eax, 0xffffffda
movss dword [ebp - 0x318], xmm0
xor eax, 0x2b43e62a
movss xmm0, dword [eax + edx]
movss dword [ebp - 0x314], xmm0
movss xmm0, dword [eax + edx + 4]
movss dword [ebp - 0x310], xmm0
movss xmm0, dword [eax + edx + 8]
mov eax, dword [0x100e6308]
add eax, 0xffffffce
movss dword [ebp - 0x30c], xmm0
xor eax, 0x2b43e636
movss xmm0, dword [eax + edx]
movss dword [ebp - 0x308], xmm0
movss xmm0, dword [eax + edx + 4]
movss dword [ebp - 0x304], xmm0
movss xmm0, dword [eax + edx + 8]
mov eax, dword [0x100e6310]
add eax, 0xffffffcc
movss dword [ebp - 0x300], xmm0
xor eax, 0x2b43e638
mov eax, dword [eax + edx]
mov dword [ebp - 0x2fc], eax
mov eax, dword [0x100e6398]
add eax, 0xffffffaa
xor eax, 0x2b43e65a
mov eax, dword [eax + edx]
mov dword [ebp - 0x2f8], eax
mov eax, dword [0x100e633c]
add eax, 0xffffffc1
xor eax, 0x2b43e643
movss xmm0, dword [eax + edx]
mov eax, dword [0x100e6348]
add eax, 0xffffffbe
movss dword [ebp - 0x2f4], xmm0
xor eax, 0x2b43e646
movss xmm0, dword [eax + edx]
movss dword [ebp - 0x2f0], xmm0
mov esi, dword [edx + esi]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [edx + 8]
lea ecx, [edx + 8]
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [0x100e6110]
lea esi, [ebp - 0x484]
mov edx, dword [ecx]
mov edx, dword [edx + 0x20]
push esi
push eax
call edx
mov edi, dword [ebp - 0x48c]
neg al
mov byte [ebx + 0x3f4], 0
sbb al, al
mov dword [ebx + 0x3f0], 0
and al, byte [ebp - 0x348]
cmp dword [edi + 0x1c], 2
mov byte [ebp - 0x485], al
jb 0x10018c01
mov eax, dword [edi + 0x18]
mov ecx, dword [edi + 0x14]
movss xmm0, dword [ebx + 0x14]
dec ecx
mov dword [ebp - 0xc], eax
lea edx, [eax + 1]
mov eax, edx
and edx, 1
shr eax, 1
and ecx, eax
mov eax, dword [edi + 0x10]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax + edx*8]
mov eax, dword [0x100e616c]
subss xmm0, dword [ecx + 0x14]
divss xmm0, dword [eax + 0x20]
addss xmm0, dword [0x100c7948]
cvttss2si eax, xmm0
mov dword [ebx + 0xc], eax
cmp eax, 1
jge 0x10018bb1
mov dword [ebx + 0xc], 1
mov eax, 1
cmp byte [ecx + 0x10], 0
jne 0x10018c01
movss xmm3, dword [ebx + 0x20]
movss xmm1, dword [ebx + 0x24]
movss xmm0, dword [ebx + 0x28]
subss xmm3, dword [ecx + 0x20]
subss xmm1, dword [ecx + 0x24]
subss xmm0, dword [ecx + 0x28]
movd xmm2, eax
mov eax, dword [0x100e616c]
cvtdq2ps xmm2, xmm2
mulss xmm2, dword [eax + 0x20]
divss xmm3, xmm2
divss xmm1, xmm2
divss xmm0, xmm2
movss dword [ebx + 0x38], xmm3
movss dword [ebx + 0x3c], xmm1
movss dword [ebx + 0x40], xmm0
cmp byte [ebp - 0x485], 0
mov eax, dword [ebx + 0x38]
mov dword [ebx + 0x3b8], eax
mov eax, dword [ebx + 0x3c]
mov dword [ebx + 0x3bc], eax
mov eax, dword [ebx + 0x40]
mov dword [ebx + 0x3c0], eax
mov ecx, dword [ebx + 0x1c]
mov eax, dword [ebx + 0x78]
mov dword [ebx + 0x3b4], ecx
mov dword [ebx + 0x3c4], eax
jne 0x10018f05
cmp dword [ebx + 0xc], 1
jle 0x10018ef4
movss xmm4, dword [0x100c7978]
xorps xmm3, xmm3
test cl, 1
je 0x10018ca6
movss xmm0, dword [ebx + 0x1ec]
ucomiss xmm0, xmm3
lahf
test ah, 0x44
jp 0x10018ca6
movss xmm2, dword [ebx + 0x3c]
movss xmm0, dword [ebx + 0x38]
movss xmm1, dword [ebx + 0x40]
mulss xmm0, xmm0
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm0, xmm2
addss xmm0, xmm1
call fcn.10017ce0
movzx eax, byte [ebx + 0x3f4]
mov ecx, 1
comiss xmm0, xmm4
cmova eax, ecx
mov byte [ebx + 0x3f4], al
cmp byte [ebx + 0x3f4], 0
je 0x10018ce2
mov dword [ebx + 0x38], 0
mov dword [ebx + 0x3c], 0
mov dword [ebx + 0x40], 0
mov dword [ebx + 0x3b8], 0
mov dword [ebx + 0x3bc], 0
mov dword [ebx + 0x3c0], 0
cmp dword [edi + 0x1c], 2
jb 0x10018ef4
mov eax, dword [edi + 0x18]
mov ecx, dword [edi + 0x14]
mov dword [ebp - 0xc], eax
dec ecx
lea edx, [eax + 1]
mov eax, edx
and edx, 1
shr eax, 1
and ecx, eax
mov eax, dword [edi + 0x10]
mov eax, dword [eax + ecx*4]
mov esi, dword [eax + edx*8]
test esi, esi
je 0x10018ef4
cmp byte [esi + 0x10], 0
jne 0x10018ef4
mov eax, dword [esi + 0x1c]
mov ecx, dword [ebx + 0x1c]
and eax, 0xfffffffe
and ecx, 1
mov dword [ebx + 0x3b4], eax
mov dword [ebp - 0xc], ecx
mov edx, eax
je 0x10018d45
test byte [esi + 0x1c], 1
je 0x10018d45
or edx, 1
mov dword [ebx + 0x3b4], edx
movss xmm0, dword [ebx + 0x17c]
mov ecx, edx
ucomiss xmm0, xmm4
lahf
test ah, 0x44
jnp 0x10018d83
movss xmm0, dword [esi + 0x17c]
ucomiss xmm0, xmm4
lahf
test ah, 0x44
jp 0x10018d83
movss xmm0, dword [ebx + 0x1b4]
ucomiss xmm0, xmm3
lahf
test ah, 0x44
jnp 0x10018d83
or ecx, 1
mov dword [ebx + 0x3b4], ecx
cmp dword [ebp - 0xc], 0
je 0x10018d98
test byte [esi + 0x1c], 1
jne 0x10018d98
and ecx, 0xfffffffe
mov dword [ebx + 0x3b4], ecx
movss xmm2, dword [ebx + 0x78]
subss xmm2, dword [esi + 0x78]
movss xmm0, dword [ebx + 0x14]
subss xmm0, dword [esi + 0x14]
mov eax, dword [0x100e616c]
mov ecx, dword [0x100e633c]
add ecx, 0xffffffc1
xor ecx, 0x2b43e643
divss xmm2, xmm0
mulss xmm2, dword [eax + 0x20]
mov eax, dword [edi]
addss xmm2, dword [esi + 0x78]
movss dword [ecx + eax], xmm2
test byte [ebx + 0x3b4], 1
je 0x10018ef4
movss xmm0, dword [ebx + 0x1ec]
ucomiss xmm0, xmm3
lahf
test ah, 0x44
jp 0x10018e16
mov dword [ebx + 0x3b8], 0
mov dword [ebx + 0x3bc], 0
mov dword [ebx + 0x3c0], 0
jmp 0x10018ef4
mov ecx, dword [0x100e63ac]
mov eax, dword [edi]
add ecx, 0xffffffa5
xor ecx, 0x2b43e65f
mov eax, dword [ecx + eax]
mov ecx, dword [0x100e6114]
push ecx
mov edx, dword [ecx]
mov esi, dword [edx + 0x10]
mov edx, esp
mov dword [edx], eax
call esi
mov ecx, eax
test ecx, ecx
je 0x10018ef4
mov eax, dword [ecx]
mov eax, dword [eax + 0x6f8]
call eax
test eax, eax
je 0x10018ef4
mov edx, dword [0x100e635c]
mov ecx, dword [edi]
add edx, 0xffffffb9
xor edx, 0x2b43e64b
cmp byte [edx + ecx], 0
je 0x10018e79
movss xmm3, dword [eax + 0x130]
jmp 0x10018e81
movss xmm3, dword [eax + 0x12c]
movss xmm4, dword [ebx + 0x3b8]
movss xmm1, dword [ebx + 0x3bc]
movaps xmm0, xmm4
movss xmm2, dword [ebx + 0x1ec]
mulss xmm0, xmm4
mulss xmm1, xmm1
addss xmm0, xmm1
call fcn.10017ce0
movaps xmm1, xmm0
comiss xmm1, xmm3
jbe 0x10018eba
movaps xmm0, xmm3
jmp 0x10018ec5
xorps xmm0, xmm0
comiss xmm0, xmm1
ja 0x10018ec5
movaps xmm0, xmm1
divss xmm0, xmm3
subss xmm2, xmm0
addss xmm2, dword [0x100c7978]
movaps xmm0, xmm2
mulss xmm2, dword [ebx + 0x3bc]
mulss xmm0, xmm4
movss dword [ebx + 0x3bc], xmm2
movss dword [ebx + 0x3b8], xmm0
cmp byte [0x100d710c], 0
je 0x10018f05
push ebx
push dword [edi]
call fcn.100afe60
mov ecx, dword [0x100e62d0]
lea edx, [ebx + 0x20]
mov eax, dword [edx]
add ecx, 0xffffffdc
xor ecx, 0x2b43e628
add ecx, dword [edi]
push edx
mov dword [ecx], eax
mov eax, dword [edx + 4]
mov dword [ecx + 4], eax
mov eax, dword [edx + 8]
mov dword [ecx + 8], eax
mov eax, dword [0x100e6220]
mov ecx, dword [edi]
call eax
mov edx, dword [0x100e6308]
movss xmm0, dword [ebx + 0x3b8]
add edx, 0xffffffce
xor edx, 0x2b43e636
add edx, dword [edi]
movss dword [edx], xmm0
mov eax, dword [ebx + 0x3bc]
mov dword [edx + 4], eax
mov eax, dword [ebx + 0x3c0]
mov dword [edx + 8], eax
mov ecx, dword [0x100e62d8]
add ecx, 0xffffffda
xor ecx, 0x2b43e62a
add ecx, dword [edi]
movss dword [ecx], xmm0
mov eax, dword [edx + 4]
mov dword [ecx + 4], eax
mov eax, dword [edx + 8]
mov dword [ecx + 8], eax
mov edx, dword [0x100e633c]
mov ecx, dword [edi]
add edx, 0xffffffc1
mov eax, dword [ebx + 0x3c4]
xor edx, 0x2b43e643
mov dword [edx + ecx], eax
mov edx, dword [0x100e6348]
mov ecx, dword [edi]
add edx, 0xffffffbe
mov eax, dword [ebx + 0x74]
xor edx, 0x2b43e646
mov dword [edx + ecx], eax
mov edx, dword [0x100e6310]
mov ecx, dword [edi]
add edx, 0xffffffcc
mov eax, dword [ebx + 0x3b4]
xor edx, 0x2b43e638
mov dword [edx + ecx], eax
mov ecx, dword [0x100e6398]
mov eax, dword [edi]
add ecx, 0xffffffaa
xor ecx, 0x2b43e65a
and dword [ecx + eax], 0xffffefff
mov ecx, dword [0x100e637c]
mov eax, dword [ebx + 0x5c]
add ecx, 0xffffffb1
xor ecx, 0x2b43e653
add ecx, dword [edi]
mov dword [ecx], eax
mov eax, dword [ebx + 0x60]
mov dword [ecx + 4], eax
mov eax, dword [ebx + 0x64]
mov dword [ecx + 8], eax
mov ecx, dword [ebp - 0x490]
mov eax, dword [0x100e616c]
mov edx, dword [ecx + 0x70]
cmp edx, dword [eax + 4]
jne 0x10019021
lea eax, [edx - 1]
mov dword [ecx + 0x70], eax
mov eax, dword [0x100e6354]
mov esi, dword [edi]
add eax, 0xffffffbb
xor eax, 0x2b43e649
mov ecx, esi
mov byte [eax + esi], 1
call dword [0x100e6adc]
mov eax, dword [0x100e6354]
add eax, 0xffffffbb
xor eax, 0x2b43e649
mov byte [eax + esi], 0
mov eax, dword [0x100e639c]
add eax, 0xffffffa9
xor eax, 0x2b43e65b
add eax, dword [edi]
movups xmm0, xmmword [eax]
movups xmmword [ebx + 0x354], xmm0
movups xmm0, xmmword [eax + 0x10]
movups xmmword [ebx + 0x364], xmm0
movups xmm0, xmmword [eax + 0x20]
movups xmmword [ebx + 0x374], xmm0
movups xmm0, xmmword [eax + 0x30]
movups xmmword [ebx + 0x384], xmm0
movups xmm0, xmmword [eax + 0x40]
movups xmmword [ebx + 0x394], xmm0
movups xmm0, xmmword [eax + 0x50]
movups xmmword [ebx + 0x3a4], xmm0
mov ecx, dword [edi]
mov eax, dword [ecx]
mov eax, dword [eax + 0x2c]
call eax
lea esi, [ebp - 0x2ec]
mov ecx, dword [eax]
mov dword [ebx + 0x68], ecx
mov ecx, dword [eax + 4]
mov dword [ebx + 0x6c], ecx
mov ecx, 0xb6
mov eax, dword [eax + 8]
mov dword [ebx + 0x70], eax
mov eax, dword [edi]
mov edi, dword [0x100e628c]
mov edi, dword [edi + eax]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [0x100e616c]
mov ecx, dword [ebx + 0x14]
mov esi, dword [ebp - 0x48c]
mov dword [eax + 0x10], ecx
push dword [ebx + 0x3cc]
push ecx
push dword [esi]
call fcn.1001e4a0
movss xmm0, dword [ebp - 0x32c]
mov byte [ebx + 0x3c8], al
mov eax, dword [0x100e62d0]
add eax, 0xffffffdc
xor eax, 0x2b43e628
add eax, dword [esi]
movss dword [eax], xmm0
movss xmm0, dword [ebp - 0x328]
movss dword [eax + 4], xmm0
movss xmm0, dword [ebp - 0x324]
movss dword [eax + 8], xmm0
mov eax, dword [0x100e62d8]
movss xmm0, dword [ebp - 0x314]
add eax, 0xffffffda
xor eax, 0x2b43e62a
add eax, dword [esi]
movss dword [eax], xmm0
movss xmm0, dword [ebp - 0x310]
movss dword [eax + 4], xmm0
movss xmm0, dword [ebp - 0x30c]
movss dword [eax + 8], xmm0
mov eax, dword [0x100e6308]
movss xmm0, dword [ebp - 0x308]
add eax, 0xffffffce
xor eax, 0x2b43e636
add eax, dword [esi]
movss dword [eax], xmm0
movss xmm0, dword [ebp - 0x304]
movss dword [eax + 4], xmm0
movss xmm0, dword [ebp - 0x300]
movss dword [eax + 8], xmm0
mov edx, dword [0x100e6310]
mov ecx, dword [esi]
add edx, 0xffffffcc
mov eax, dword [ebp - 0x2fc]
xor edx, 0x2b43e638
mov dword [edx + ecx], eax
mov edx, dword [0x100e6398]
mov ecx, dword [esi]
add edx, 0xffffffaa
mov eax, dword [ebp - 0x2f8]
xor edx, 0x2b43e65a
mov dword [edx + ecx], eax
mov ecx, dword [0x100e633c]
mov eax, dword [esi]
add ecx, 0xffffffc1
movss xmm0, dword [ebp - 0x2f4]
xor ecx, 0x2b43e643
movss dword [ecx + eax], xmm0
mov edx, dword [0x100e6348]
mov eax, dword [esi]
add edx, 0xffffffbe
movss xmm0, dword [ebp - 0x2f0]
xor edx, 0x2b43e646
movss dword [edx + eax], xmm0
lea edx, [ebp - 0x320]
mov eax, dword [0x100e6220]
mov ecx, dword [esi]
push edx
call eax
mov eax, dword [esi]
mov ecx, 0xb6
mov edi, dword [0x100e628c]
lea esi, [ebp - 0x2ec]
movss xmm0, dword [ebp - 0x494]
mov edi, dword [edi + eax]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [0x100e616c]
movss dword [eax + 0x10], xmm0
mov eax, dword [0x100e616c]
movss xmm0, dword [ebp - 0x498]
movss dword [eax + 0x14], xmm0
mov ecx, dword [ebp - 8]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.100ba7e9
mov esp, ebp
pop ebp
ret 4