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

Disassembly:
mov ecx, dword [0x1010ef08]
sub esp, 0x54
mov eax, dword [ecx + 0x3e40]
push ebx
push ebp
push esi
mov byte [eax + 0xac], 1
push edi
mov edi, dword [ecx + 0x3e40]
cmp byte [edi + 0xaf], 0
jne 0x10055ed1
mov ebx, dword [0x1010ef08]
mov ecx, edi
push 0
push dword [esp + 0x6c]
call fcn.1000d5f6
push ecx
mov dword [esp], 0xbf800000
mov ebp, eax
push 1
push 0
push dword [esp + 0x74]
lea eax, [esp + 0x3c]
push eax
call fcn.10009ca9
mov esi, dword [esp + 0x88]
add esp, 0x14
xorps xmm0, xmm0
movss xmm2, dword [esi + 4]
ucomiss xmm2, xmm0
lahf
test ah, 0x44
jp 0x100559f8
movss xmm2, dword [esp + 0x30]
movss xmm1, dword [esi]
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jp 0x10055a0b
movss xmm1, dword [esp + 0x2c]
movss dword [esp + 0x24], xmm1
lea eax, [esp + 0x24]
movss dword [esp + 0x28], xmm2
movss xmm0, dword [edi + 0xf0]
movss dword [esp + 0x18], xmm0
movss xmm0, dword [edi + 0xf4]
addss xmm0, dword [edi + 0x128]
push ecx
and dword [esp], 0
push eax
movss dword [esp + 0x24], xmm0
call fcn.1000f657
mov edx, dword [esp + 0x78]
movss xmm1, dword [esp + 0x20]
pop ecx
pop ecx
mov ecx, edx
shr ecx, 1
and cl, 1
mov dword [esp + 0x14], ecx
je 0x10055a75
movss xmm6, dword [edi + 0x200]
movss xmm4, dword [edi + 0x208]
jmp 0x10055a80
movss xmm4, dword [edi + 0x1f8]
movaps xmm6, xmm1
movss xmm0, dword [esi]
xorps xmm5, xmm5
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jnp 0x10055aa0
test edx, 0x1000000
jne 0x10055aa0
movss xmm4, dword [esp + 0x24]
jmp 0x10055ab0
subss xmm4, xmm6
maxss xmm4, dword [esp + 0x2c]
movss dword [esp + 0x24], xmm4
movss xmm7, dword [esp + 0x1c]
addss xmm4, xmm6
movss dword [esp + 0x3c], xmm1
movaps xmm0, xmm7
movss dword [esp + 0x40], xmm7
movss dword [esp + 0x44], xmm6
movss dword [esp + 0x48], xmm7
movss dword [esp + 0x34], xmm4
movss dword [esp + 0x4c], xmm4
addss xmm0, dword [esp + 0x28]
movss dword [esp + 0x1c], xmm0
movss dword [esp + 0x38], xmm0
movss dword [esp + 0x50], xmm0
test edx, 0x4000000
jne 0x10055b73
test cl, cl
jne 0x10055b0d
movss xmm5, dword [ebx + 0x37ec]
movss xmm3, dword [ebx + 0x37f0]
movaps xmm0, xmm5
mulss xmm0, dword [0x100bbdf8]
cvttss2si eax, xmm0
movaps xmm0, xmm3
mulss xmm0, dword [0x100bbdf8]
movd xmm2, eax
cvttss2si eax, xmm0
cvtdq2ps xmm2, xmm2
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm5, xmm2
subss xmm3, xmm0
subss xmm6, xmm2
subss xmm7, xmm0
addss xmm5, xmm4
addss xmm3, dword [esp + 0x1c]
movss dword [esp + 0x44], xmm6
movss dword [esp + 0x48], xmm7
movss dword [esp + 0x4c], xmm5
movss dword [esp + 0x50], xmm3
movss xmm0, dword [edi + 0x210]
movss dword [esp + 0x1c], xmm0
movss xmm0, dword [edi + 0x218]
movss dword [esp + 0x20], xmm0
test cl, cl
je 0x10055bab
mov eax, dword [edi + 0x200]
mov dword [edi + 0x210], eax
mov eax, dword [edi + 0x208]
mov dword [edi + 0x218], eax
mov eax, edx
xor esi, esi
shr eax, 3
and eax, 0xffffff01
mov dword [esp + 0x18], eax
movzx eax, al
shl eax, 2
push eax
push esi
lea eax, [esp + 0x4c]
push ebp
push eax
call fcn.1000f7a8
add esp, 0x10
cmp byte [esp + 0x14], 0
je 0x10055bf4
movss xmm0, dword [esp + 0x1c]
movss dword [edi + 0x210], xmm0
movss xmm0, dword [esp + 0x20]
movss dword [edi + 0x218], xmm0
test al, al
je 0x10055ed1
mov eax, dword [ebx + 0x4698]
shr eax, 2
and eax, 0xffffff01
cmp byte [esp + 0x18], 0
mov dword [esp + 0x20], eax
je 0x10055c21
test al, al
jne 0x10055c21
push 1
call fcn.100091e9
pop ecx
cmp byte [esp + 0x14], 0
je 0x10055c44
cmp dword [edi + 0x190], esi
je 0x10055c37
call fcn.10048e84
jmp 0x10055c44
cmp dword [ebx + 0x49e4], esi
je 0x10055c44
call fcn.1004931a
mov ecx, dword [esp + 0x70]
shr ecx, 3
and ecx, 0x20000
mov edx, ecx
or edx, 0x100000
test dword [esp + 0x70], 0x8000000
cmove edx, ecx
mov esi, edx
or esi, 0x10
test dword [esp + 0x70], 0x400000
cmove esi, edx
mov ecx, esi
or ecx, 0x80
test dword [esp + 0x70], 0x800000
cmove ecx, esi
mov esi, dword [esp + 0x70]
mov edx, ecx
or edx, 0x120
test byte [esp + 0x70], 4
cmove edx, ecx
mov eax, edx
or eax, 0x1000
and esi, 0x10
cmove eax, edx
push eax
lea eax, [esp + 0x17]
push eax
lea eax, [esp + 0x1a]
push eax
lea eax, [esp + 0x50]
push ebp
push eax
call fcn.1005b9bb
add esp, 0x14
mov byte [esp + 0x11], al
test dword [esp + 0x70], 0x200000
je 0x10055cf7
mov edx, dword [ebx + 0x47dc]
test edx, edx
je 0x10055cf7
mov ecx, dword [ebx + 0x47e0]
cmp ecx, dword [ebx + 0x4694]
jne 0x10055cf7
cmp edx, ebp
jne 0x10055cf7
mov al, 1
mov byte [esp + 0x11], al
mov byte [esp + 0x10], al
jmp 0x10055d27
mov cl, byte [esp + 0x6c]
mov byte [esp + 0x10], cl
test al, al
jne 0x10055d27
mov byte [esp + 0x10], cl
cmp byte [esp + 0x12], al
je 0x10055dc5
test dword [esp + 0x70], 0x2000000
mov byte [esp + 0x6c], cl
mov byte [esp + 0x10], cl
je 0x10055dc5
cmp byte [ebx + 0x47fb], 0
jne 0x10055dba
cmp dword [ebx + 0x47c0], edi
jne 0x10055dba
mov ecx, dword [edi + 0x148]
cmp dword [ebx + 0x47f4], ecx
jne 0x10055dba
movss xmm1, dword [edi + 0x100]
lea eax, [esp + 0x54]
movss xmm0, dword [esp + 0x44]
movss xmm2, dword [edi + 0x104]
subss xmm0, xmm1
push eax
push dword [ebx + 0x4694]
push ecx
movss dword [esp + 0x60], xmm0
movss xmm0, dword [esp + 0x54]
subss xmm0, xmm2
push ebp
movss dword [esp + 0x68], xmm0
movss xmm0, dword [esp + 0x5c]
subss xmm0, xmm1
movss dword [esp + 0x6c], xmm0
movss xmm0, dword [esp + 0x60]
subss xmm0, xmm2
movss dword [esp + 0x70], xmm0
call fcn.10011297
mov al, byte [esp + 0x21]
add esp, 0x10
mov byte [ebx + 0x47fa], 1
test al, al
je 0x10055dc5
push ebp
call fcn.1000f588
pop ecx
test esi, esi
je 0x10055dce
call fcn.10009860
mov al, byte [esp + 0x10]
cmp al, byte [esp + 0x6c]
je 0x10055ddf
or dword [ebx + 0x46bc], 8
mov cl, byte [esp + 0x12]
test cl, cl
jne 0x10055deb
test al, al
je 0x10055e35
cmp byte [esp + 0x13], 0
je 0x10055dfb
test cl, cl
je 0x10055dfb
push 0x1a
pop eax
jmp 0x10055e05
xor eax, eax
test cl, cl
setne al
add eax, 0x18
push ecx
mov dword [esp], 0x3f800000
push eax
call fcn.10007cd0
add esp, 4
and dword [esp], 0
push 0
push eax
push dword [esp + 0x5c]
push dword [esp + 0x5c]
push dword [esp + 0x5c]
push dword [esp + 0x5c]
call fcn.10012432
add esp, 0x1c
push 0xa
lea eax, [esp + 0x48]
push ebp
push eax
call fcn.1001269f
add esp, 0xc
cmp byte [esp + 0x14], 0
je 0x10055e6a
cmp dword [edi + 0x190], 0
je 0x10055e5c
call fcn.10048ecd
jmp 0x10055e6a
cmp dword [ebx + 0x49e4], 0
je 0x10055e6a
call fcn.1004936c
lea eax, [esp + 0x44]
push eax
lea eax, [ebx + 0x3840]
push eax
lea eax, [esp + 0x34]
push eax
push 0
push dword [esp + 0x78]
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x54]
push eax
call fcn.10011ec9
add esp, 0x1c
cmp byte [esp + 0x11], 0
je 0x10055eb8
test dword [edi + 0xc], 0x4000000
je 0x10055eb8
test byte [esp + 0x70], 1
jne 0x10055eb8
test byte [ebx + 0x46b8], 0x20
jne 0x10055eb8
call fcn.100087c7
cmp byte [esp + 0x18], 0
je 0x10055ecb
cmp byte [esp + 0x20], 0
jne 0x10055ecb
call fcn.10009246
mov al, byte [esp + 0x11]
jmp 0x10055ed3
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x54
ret