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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x268
mov eax, dword [0x102d944c]
xor eax, esp
mov dword [esp + 0x264], eax
mov eax, dword [ebp + 0xc]
shr eax, 4
mov dword [ebp + 0xc], eax
push esi
push edi
test eax, eax
je 0x101c8882
mov eax, dword [ebp + 8]
add eax, 8
mov dword [esp + 0x14], eax
nop word [eax + eax]
mov eax, dword [eax - 8]
mov esi, 1
mov byte [esp + 0x3f], 1
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x10], eax
and edi, 0xff100001
mov eax, dword [0x1054e040]
or edi, 0x100001
mov dword [esp + 0x3c], edi
cmp dword [eax + 0x18], esi
jl 0x101c886d
nop dword [eax]
nop word [eax + eax]
mov ecx, dword [0x1054dfe4]
lea edx, [esp + 0x110]
push edx
push esi
mov eax, dword [ecx]
mov eax, dword [eax + 0x20]
call eax
test al, al
je 0x101c82b0
mov eax, dword [esp + 0x10]
cmp dword [esp + 0x118], eax
jne 0x101c82b0
cmp dword [esp + 0x11c], edi
je 0x101c82c0
mov eax, dword [0x1054e040]
inc esi
cmp esi, dword [eax + 0x18]
jle 0x101c8280
jmp 0x101c886d
mov ecx, dword [0x1054dfe8]
push esi
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov edi, eax
test edi, edi
je 0x101c886d
cmp edi, dword [0x10311640]
je 0x101c886d
mov edx, dword [edi + 8]
lea ecx, [edi + 8]
mov edx, dword [edx + 0x24]
call edx
test al, al
je 0x101c886d
mov esi, dword [esp + 0x14]
lea eax, [esp + 0xdc]
push 0x30
push 0
push eax
movss xmm0, dword [esi - 4]
movss dword [esp + 0xa8], xmm0
movss xmm0, dword [esi]
movss dword [esp + 0xac], xmm0
movss xmm0, dword [esi + 4]
movss dword [esp + 0xb0], xmm0
call fcn.101fd380
movss xmm3, dword [esi - 4]
xorps xmm6, xmm6
movss xmm4, dword [esi]
addss xmm3, xmm6
movss xmm5, dword [esi + 4]
addss xmm4, xmm6
addss xmm5, dword [0x102c13d0]
xorps xmm0, xmm0
mov dword [esp + 0xe4], 0
movups xmmword [esp + 0xc4], xmm0
mov dword [esp + 0xb4], 0x1025b158
add esp, 0xc
movaps xmm2, xmm3
mov dword [esp + 0x5c], 0
movaps xmm1, xmm4
mov byte [esp + 0x85], 1
subss xmm1, xmm6
subss xmm2, xmm6
movups xmmword [esp + 0xc8], xmm0
movaps xmm0, xmm5
subss xmm0, dword [0x102c160c]
subss xmm1, xmm4
subss xmm2, xmm3
subss xmm0, xmm5
movss dword [esp + 0x54], xmm1
movss dword [esp + 0x50], xmm2
mulss xmm1, xmm1
mulss xmm2, xmm2
movss dword [esp + 0x58], xmm0
mulss xmm0, xmm0
addss xmm1, xmm2
addss xmm1, xmm0
ucomiss xmm1, xmm6
lahf
test ah, 0x44
jp 0x101c83ee
mov byte [esp + 0x85], 0
mov ecx, dword [0x1054e000]
lea edx, [esp + 0xb8]
push edx
mov dword [esp + 0x84], 0
lea edx, [esp + 0xac]
mov byte [esp + 0x88], 1
movss dword [esp + 0x44], xmm3
movss dword [esp + 0x48], xmm4
movss dword [esp + 0x4c], xmm5
mov dword [esp + 0x50], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x74], 0
mov eax, dword [ecx]
push edx
push 0x201400b
lea edx, [esp + 0x4c]
mov eax, dword [eax + 0x14]
push edx
call eax
movss xmm3, dword [esp + 0xe4]
movsd xmm1, qword [0x102c1450]
cvtps2pd xmm0, xmm3
comisd xmm1, xmm0
jbe 0x101c84a9
movss xmm0, dword [esp + 0xc4]
movss xmm1, dword [esp + 0xc8]
movss xmm2, dword [esp + 0xcc]
jmp 0x101c84c4
movss xmm0, dword [esp + 0x9c]
movss xmm1, dword [esp + 0xa0]
movss xmm2, dword [esp + 0xa4]
ucomiss xmm3, dword [0x102c13d0]
mov ecx, dword [0x1054e4e8]
mov esi, 2
movss dword [esp + 0xa4], xmm2
movss xmm2, dword [0x102c137c]
lahf
xor edx, edx
movss dword [esp + 0x9c], xmm0
test ah, 0x44
movss dword [esp + 0xa0], xmm1
mov eax, 1
cmovp edx, eax
xor eax, eax
add ecx, 0xffffffc7
xor ecx, 0xab5b35
comiss xmm2, xmm3
cmova eax, esi
mov esi, 0xfffffffd
or eax, edx
or dword [ecx + edi], eax
movss xmm0, dword [esp + 0xe4]
ucomiss xmm0, dword [0x102c13d0]
mov ecx, dword [0x1054e4e8]
lahf
xor edx, edx
test ah, 0x44
mov eax, 0xfffffffe
cmovnp edx, eax
xor eax, eax
add ecx, 0xffffffc7
xor ecx, 0xab5b35
comiss xmm0, xmm2
cmova eax, esi
or eax, edx
and dword [ecx + edi], eax
lea ecx, [esp + 0x9c]
mov eax, dword [0x1054e4a8]
movss xmm0, dword [esp + 0x9c]
add eax, 0xffffffd7
xor eax, 0xab5b25
push ecx
mov ecx, edi
movss dword [eax + edi], xmm0
movss xmm0, dword [esp + 0xa4]
movss dword [eax + edi + 4], xmm0
movss xmm0, dword [esp + 0xa8]
movss dword [eax + edi + 8], xmm0
mov eax, dword [0x1054e12c]
call eax
mov ecx, dword [0x1054e518]
mov eax, dword [0x1054e040]
add ecx, 0xffffffbb
xor ecx, 0xab5b41
mov eax, dword [eax + 0x10]
mov dword [ecx + edi], eax
mov eax, dword [edi + 0x64]
mov byte [eax + 0x10559ebf], 1
mov eax, dword [edi + 0x64]
mov dword [eax*4 + 0x10559efc], 0x3f800000
mov eax, dword [0x1054e19c]
add eax, edi
je 0x101c8607
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov eax, dword [0x1054e1a8]
mov dword [eax + edi], 0
mov eax, dword [0x1054e1ac]
mov dword [eax + edi], 0x4f7f8000
mov eax, dword [0x1054e040]
mov ecx, edi
movss xmm0, dword [eax + 0x10]
mov eax, dword [0x1054e644]
add eax, 0xffffff70
movss dword [esp + 0x18], xmm0
xor eax, 0xab5b8c
mov eax, dword [eax + edi - 0x1c]
mov dword [esp + 0x24], eax
mov eax, dword [edi + 0x68]
mov dword [esp + 0x2c], eax
mov eax, dword [0x1054e4d4]
add eax, 0xffffffcc
xor eax, 0xab5b30
mov eax, dword [eax + edi]
mov dword [esp + 0x28], eax
mov eax, dword [edi + 0xa28]
mov dword [esp + 0x30], eax
mov eax, dword [edi]
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [0x1054e0f8]
movq xmm0, qword [eax]
movq qword [esp + 0xac], xmm0
mov eax, dword [eax + 8]
mov dword [esp + 0xb4], eax
mov eax, dword [ecx]
mov eax, dword [eax + 0x34]
call eax
mov ecx, dword [0x1054e0f8]
push 0
mov dword [esp + 0x38], eax
mov edx, dword [ecx]
mov edx, dword [edx + 0x40]
call edx
mov ecx, dword [0x1054e644]
add ecx, 0xffffff70
movss xmm0, dword [0x102c1734]
xor ecx, 0xab5b8c
movss dword [esp + 0x10], xmm0
mov dword [ecx + edi - 0x1c], 0
mov eax, dword [0x1054e19c]
mov dword [eax + edi + 8], 0
mov eax, dword [0x1054e1a8]
mov dword [eax + edi], 0
and dword [edi + 0xa28], esi
or dword [edi + 0x68], 2
mov dword [edi + 0xa68], 0
mov dword [edi + 0xa24], 0xffffffff
mov eax, dword [0x1054e4d4]
add eax, 0xffffffcc
xor eax, 0xab5b30
or dword [eax + edi], 8
mov eax, dword [0x1054e1a0]
cmp dword [eax + edi + 0xc], 0xc
jl 0x101c872a
mov eax, dword [eax + edi]
movss xmm0, dword [eax + 0x2c0]
movss dword [esp + 0x10], xmm0
mov dword [eax + 0x2c0], 0
mov ecx, dword [0x1054e4a8]
mov eax, dword [0x1054e12c]
add ecx, 0xffffffd7
xor ecx, 0xab5b25
add ecx, edi
push ecx
mov ecx, edi
call eax
mov eax, dword [0x1054e040]
lea ecx, [edi + 4]
push ecx
mov esi, dword [eax + 4]
mov dword [eax + 4], 0xfffffc19
movss xmm0, dword [edi + 0x3ad4]
movss dword [esp + 0x20], xmm0
movss xmm0, dword [edi + 0x6f24]
mov dword [edi + 0x3ad4], 0
movss dword [esp + 0x24], xmm0
movss xmm0, dword [esp + 0x1c]
mov dword [edi + 0x6f24], 0
mov byte [0x10311646], 1
mov eax, dword [ecx]
movss dword [esp], xmm0
push 0x100
push 0x80
mov eax, dword [eax + 0x34]
push 0
call eax
mov eax, dword [0x1054e040]
movss xmm0, dword [esp + 0x1c]
mov byte [0x10311646], 0
mov dword [eax + 4], esi
movss dword [edi + 0x3ad4], xmm0
movss xmm0, dword [esp + 0x20]
movss dword [edi + 0x6f24], xmm0
mov eax, dword [0x1054e1a0]
cmp dword [eax + edi + 0xc], 0xc
jl 0x101c87fd
movss xmm0, dword [esp + 0x10]
xorps xmm1, xmm1
comiss xmm0, xmm1
jb 0x101c87fd
mov eax, dword [eax + edi]
movss dword [eax + 0x2c0], xmm0
mov eax, dword [0x1054e644]
mov ecx, dword [esp + 0x24]
add eax, 0xffffff70
xor eax, 0xab5b8c
push dword [esp + 0x34]
mov dword [eax + edi - 0x1c], ecx
mov eax, dword [0x1054e4d4]
mov ecx, dword [esp + 0x2c]
add eax, 0xffffffcc
xor eax, 0xab5b30
mov dword [eax + edi], ecx
mov eax, dword [esp + 0x30]
mov dword [edi + 0x68], eax
mov eax, dword [esp + 0x34]
mov dword [edi + 0xa28], eax
mov ecx, dword [0x1054e0f8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x40]
call eax
mov eax, dword [0x1054e12c]
lea ecx, [esp + 0xac]
push ecx
mov ecx, edi
call eax
mov eax, dword [0x1054e040]
mov ecx, dword [edi + 0x64]
mov eax, dword [eax + 0x1c]
mov dword [ecx*4 + 0x105526e0], eax
mov eax, dword [esp + 0x14]
add eax, 0x10
sub dword [ebp + 0xc], 1
mov dword [esp + 0x14], eax
jne 0x101c8240
mov ecx, dword [esp + 0x26c]
pop edi
pop esi
xor ecx, esp
call fcn.101fae3a
mov esp, ebp
pop ebp
ret 8