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

Disassembly:
sub esp, 0xa8
push ebx
push ebp
push esi
push edi
mov edi, dword [0x10132b9c]
mov esi, ecx
mov dword [esp + 0x28], edx
mov dword [esp + 0x30], esi
mov eax, dword [edi + 0x1bac]
mov byte [eax + 0xac], 1
mov ebp, dword [edi + 0x1bac]
cmp byte [ebp + 0xaf], 0
jne 0x1005cee4
mov ecx, dword [ebp + 0xe4]
xor edx, edx
mov eax, dword [ebp + 0xec]
push dword [eax + ecx*4 - 4]
mov ecx, esi
call fcn.10037830
mov ebx, eax
add esp, 4
cmp dword [edi + 0x1be0], ebx
jne 0x1005c4e6
mov dword [edi + 0x1be4], ebx
cmp dword [edi + 0x1c1c], ebx
jne 0x1005c4f5
mov byte [edi + 0x1c20], 1
test byte [edi + 0x1c34], 1
je 0x1005c508
movss xmm3, dword [edi + 0x1c38]
jmp 0x1005c510
movss xmm3, dword [ebp + 0x1c0]
movss xmm0, dword [0x1012c844]
xorps xmm2, xmm2
comiss xmm2, xmm3
mov eax, edi
jbe 0x1005c554
cmp dword [ebp + 0x1a4], 0
movss xmm1, dword [ebp + 0x258]
jne 0x1005c53c
cmp dword [eax + 0x1f18], 0
je 0x1005c544
movss xmm1, dword [ebp + 0x228]
subss xmm1, dword [ebp + 0xf0]
addss xmm3, xmm1
maxss xmm3, xmm0
movss xmm0, dword [eax + 0x1564]
mov edx, dword [esp + 0x30]
addss xmm0, xmm0
mov ecx, edx
cvttss2si esi, xmm3
addss xmm0, dword [eax + 0x1940]
movss dword [esp + 0x48], xmm0
cmp edx, 0xffffffff
jae 0x1005c59c
nop dword [eax]
mov dl, byte [ecx]
test dl, dl
je 0x1005c596
cmp dl, 0x23
jne 0x1005c590
cmp byte [ecx + 1], dl
je 0x1005c596
inc ecx
cmp ecx, 0xffffffff
jb 0x1005c580
mov edx, dword [esp + 0x30]
mov eax, edi
movss xmm6, dword [eax + 0x1940]
cmp edx, ecx
jne 0x1005c62f
movaps xmm1, xmm2
movss dword [esp + 0x34], xmm1
movaps xmm4, xmm2
comiss xmm1, xmm2
movss xmm3, dword [esp + 0x48]
movss xmm7, dword [ebp + 0xf0]
addss xmm4, xmm3
movd xmm0, esi
movaps xmm5, xmm7
cvtdq2ps xmm0, xmm0
addss xmm4, dword [ebp + 0xf4]
addss xmm5, xmm0
ja 0x1005c68f
movaps xmm6, xmm2
movaps xmm0, xmm2
movaps xmm1, xmm7
movss dword [esp + 0x40], xmm5
addss xmm1, xmm0
movss dword [esp + 0x44], xmm4
movss xmm0, dword [ebp + 0xf4]
addss xmm0, xmm6
movss dword [esp + 0x38], xmm1
movss dword [esp + 0x3c], xmm0
movss xmm0, dword [esp + 0x34]
comiss xmm0, xmm2
jbe 0x1005c69f
addss xmm3, dword [edi + 0x1578]
jmp 0x1005c6a2
movss xmm3, dword [0x1012c9d0]
movaps xmm2, xmm6
push 0
push ecx
push edx
push ecx
lea ecx, [esp + 0x28]
mov dword [esp], 0xbf800000
push ecx
mov ecx, dword [eax + 0x193c]
call fcn.100524f0
movss xmm0, dword [esp + 0x18]
xorps xmm2, xmm2
addss xmm0, dword [0x1012c83c]
movss xmm6, dword [esp + 0x1c]
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
comiss xmm1, xmm2
movss dword [esp + 0x34], xmm1
jbe 0x1005c5b5
movaps xmm4, xmm6
jmp 0x1005c5b8
movaps xmm0, xmm3
addss xmm0, dword [edi + 0x1578]
jmp 0x1005c5ef
movaps xmm3, xmm2
movss xmm0, dword [ebp + 0xf4]
subss xmm5, xmm3
movss xmm1, dword [edi + 0x1564]
lea ecx, [esp + 0x18]
movss dword [esp + 0x74], xmm4
subss xmm4, xmm0
movss dword [esp + 0x68], xmm7
movss dword [esp + 0x6c], xmm0
movss dword [esp + 0x70], xmm5
subss xmm5, xmm7
movss dword [esp + 0x1c], xmm4
movss dword [esp + 0x18], xmm5
call fcn.10044a40
push ecx
lea eax, [esp + 0x3c]
mov edx, ebx
push eax
lea ecx, [esp + 0x70]
call fcn.10044b70
add esp, 8
test al, al
je 0x1005cee4
mov esi, dword [esp + 0xc8]
test esi, esi
jne 0x1005c721
mov eax, dword [esp + 0x28]
shl eax, 4
mov esi, dword [eax + 0x1011fca0]
jmp 0x1005c762
cmp dword [esp + 0x28], 4
jne 0x1005c769
mov ecx, 0x1011ba74
mov eax, esi
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1005c750
test dl, dl
je 0x1005c74c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1005c750
add eax, 2
add ecx, 2
test dl, dl
jne 0x1005c730
xor eax, eax
jmp 0x1005c755
sbb eax, eax
or eax, 1
test eax, eax
je 0x1005c769
mov ecx, esi
call fcn.1005bc20
mov esi, eax
mov dword [esp + 0xc8], esi
mov edx, ebx
lea ecx, [esp + 0x38]
call fcn.1003a3f0
mov ecx, dword [0x10132b9c]
cmp dword [ecx + 0x1be0], ebx
jne 0x1005c78a
cmp dword [ecx + 0x2e7c], ebx
je 0x1005c7e7
test al, al
je 0x1005c79e
cmp byte [edi + 0x3d8], 0
je 0x1005c79e
mov byte [esp + 0x17], 1
jmp 0x1005c7b3
mov byte [esp + 0x17], 0
cmp dword [edi + 0x1d50], ebx
je 0x1005c7b3
cmp dword [edi + 0x1d5c], ebx
jne 0x1005c814
mov edx, ebp
mov ecx, ebx
call fcn.1003a290
call fcn.10046f80
mov ecx, ebp
call fcn.10044290
or dword [edi + 0x1bf4], 3
cmp byte [esp + 0x17], 0
je 0x1005c7df
cmp byte [edi + 0xfc], 0
jne 0x1005c7e7
cmp dword [edi + 0x1d5c], ebx
jne 0x1005c814
sub esp, 8
lea ecx, [esp + 0x70]
mov edx, ebx
push esi
push dword [esp + 0xc8]
mov esi, dword [esp + 0x40]
push dword [esp + 0x38]
push esi
call fcn.1005d000
add esp, 0x18
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa8
ret
push 1
mov edx, ebx
lea ecx, [esp + 0x3c]
call fcn.10039680
add esp, 4
cmp dword [edi + 0x1be0], ebx
jne 0x1005c833
mov ecx, 0x11
jmp 0x1005c846
cmp dword [edi + 0x1bcc], ebx
mov ecx, 5
mov eax, 8
cmove ecx, eax
mov eax, dword [0x10132b9c]
add ecx, ecx
movss xmm1, dword [0x1012c844]
xorps xmm0, xmm0
movups xmm4, xmmword [eax + ecx*8 + 0x15ec]
comiss xmm0, xmm4
movaps xmm5, xmm4
shufps xmm5, xmm4, 0xff
mulss xmm5, dword [eax + 0x1528]
movups xmmword [esp + 0x18], xmm4
jbe 0x1005c87e
xorps xmm4, xmm4
jmp 0x1005c882
minss xmm4, xmm1
movss xmm2, dword [0x1012c990]
movss xmm3, dword [0x1012c800]
mulss xmm4, xmm2
addss xmm4, xmm3
cvttss2si ecx, xmm4
movss xmm4, dword [esp + 0x1c]
comiss xmm0, xmm4
jbe 0x1005c8ae
xorps xmm4, xmm4
jmp 0x1005c8b2
minss xmm4, xmm1
mulss xmm4, xmm2
addss xmm4, xmm3
cvttss2si eax, xmm4
movss xmm4, dword [esp + 0x20]
shl eax, 8
or ecx, eax
comiss xmm0, xmm4
jbe 0x1005c8d3
xorps xmm4, xmm4
jmp 0x1005c8d7
minss xmm4, xmm1
mulss xmm4, xmm2
addss xmm4, xmm3
cvttss2si eax, xmm4
shl eax, 0x10
or ecx, eax
comiss xmm0, xmm5
jbe 0x1005c8f2
xorps xmm5, xmm5
jmp 0x1005c8f6
minss xmm5, xmm1
mulss xmm5, xmm2
addss xmm5, xmm3
cvttss2si edx, xmm5
shl edx, 0x18
or edx, ecx
call fcn.10038480
mov eax, dword [0x10132b9c]
xorps xmm0, xmm0
movss xmm1, dword [0x1012c844]
movups xmm4, xmmword [eax + 0x165c]
comiss xmm0, xmm4
movaps xmm5, xmm4
shufps xmm5, xmm4, 0xff
mulss xmm5, dword [eax + 0x1528]
movups xmmword [esp + 0x18], xmm4
jbe 0x1005c941
xorps xmm4, xmm4
jmp 0x1005c945
minss xmm4, xmm1
movss xmm2, dword [0x1012c990]
movss xmm3, dword [0x1012c800]
mulss xmm4, xmm2
addss xmm4, xmm3
cvttss2si edx, xmm4
movss xmm4, dword [esp + 0x1c]
comiss xmm0, xmm4
jbe 0x1005c971
xorps xmm4, xmm4
jmp 0x1005c975
minss xmm4, xmm1
mulss xmm4, xmm2
addss xmm4, xmm3
cvttss2si eax, xmm4
movss xmm4, dword [esp + 0x20]
shl eax, 8
or edx, eax
comiss xmm0, xmm4
jbe 0x1005c996
xorps xmm4, xmm4
jmp 0x1005c99a
minss xmm4, xmm1
mulss xmm4, xmm2
addss xmm4, xmm3
cvttss2si eax, xmm4
shl eax, 0x10
or edx, eax
comiss xmm0, xmm5
jbe 0x1005c9b5
xorps xmm5, xmm5
jmp 0x1005c9b9
minss xmm5, xmm1
push dword [esp + 0x44]
mulss xmm5, xmm2
push dword [esp + 0x44]
movss xmm2, dword [edi + 0x1568]
push dword [esp + 0x44]
addss xmm5, xmm3
push dword [esp + 0x44]
cvttss2si ecx, xmm5
shl ecx, 0x18
or ecx, edx
mov dl, 1
call fcn.100391c0
mov esi, dword [0x10132b9c]
add esp, 0x10
mov eax, dword [esi + 0x1cd8]
mov ecx, dword [esi + 0x1ce0]
lea edx, [eax + eax*4]
mov eax, dword [ecx + edx*4 - 0x14]
movups xmm0, xmmword [ecx + edx*4 - 0x10]
add eax, eax
lea ecx, [esp + 0x38]
mov edx, ebx
movups xmmword [esi + eax*8 + 0x15ec], xmm0
dec dword [esi + 0x1cd8]
lea eax, [esp + 0x18]
push eax
sub esp, 8
xorps xmm0, xmm0
movups xmmword [esp + 0x24], xmm0
push dword [esp + 0xd4]
push dword [esp + 0xd4]
push dword [esp + 0xd4]
push dword [esp + 0xd4]
push dword [esp + 0x44]
call fcn.1005c230
mov ecx, dword [0x10132b9c]
add esp, 0x20
mov byte [esp + 0x17], al
test al, al
je 0x1005ca76
or dword [ecx + 0x1c50], 4
mov word [ecx + 0x1bf0], 0x101
movss xmm0, dword [esp + 0x20]
comiss xmm0, dword [esp + 0x18]
jbe 0x1005cdc2
cmp dword [edi + 0x1be0], ebx
mov eax, 0x1f4
movss xmm6, dword [edi + 0x1568]
mov edx, 0x204
movss xmm1, dword [0x1012c844]
cmove eax, edx
xorps xmm0, xmm0
movups xmm4, xmmword [eax + ecx + 0x1528]
comiss xmm0, xmm4
movaps xmm5, xmm4
shufps xmm5, xmm4, 0xff
mulss xmm5, dword [ecx + 0x1528]
movups xmmword [esp + 0x48], xmm4
jbe 0x1005cad3
xorps xmm4, xmm4
jmp 0x1005cad7
minss xmm4, xmm1
movss xmm2, dword [0x1012c990]
movss xmm3, dword [0x1012c800]
mulss xmm4, xmm2
addss xmm4, xmm3
cvttss2si ecx, xmm4
movss xmm4, dword [esp + 0x4c]
comiss xmm0, xmm4
jbe 0x1005cb03
xorps xmm4, xmm4
jmp 0x1005cb07
minss xmm4, xmm1
mulss xmm4, xmm2
addss xmm4, xmm3
cvttss2si eax, xmm4
movss xmm4, dword [esp + 0x50]
shl eax, 8
or ecx, eax
comiss xmm0, xmm4
jbe 0x1005cb28
xorps xmm4, xmm4
jmp 0x1005cb2c
minss xmm4, xmm1
mulss xmm4, xmm2
addss xmm4, xmm3
cvttss2si eax, xmm4
shl eax, 0x10
or ecx, eax
comiss xmm0, xmm5
jbe 0x1005cb47
xorps xmm5, xmm5
jmp 0x1005cb4b
minss xmm5, xmm1
mulss xmm5, xmm2
push 0
push ecx
movss dword [esp], xmm6
addss xmm5, xmm3
cvttss2si eax, xmm5
shl eax, 0x18
or eax, ecx
mov ecx, dword [ebp + 0x294]
push eax
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x28]
push eax
call fcn.1004fb90
mov ebx, dword [0x10132b9c]
xorps xmm1, xmm1
mov eax, dword [ebp + 0x294]
movss xmm2, dword [0x1012c844]
mov dword [esp + 0x48], eax
movss xmm6, dword [ebx + 0x1528]
movaps xmm0, xmm6
mulss xmm0, dword [0x1012c7f0]
comiss xmm1, xmm0
jbe 0x1005cbb2
xorps xmm0, xmm0
jmp 0x1005cbb6
minss xmm0, xmm2
movss xmm3, dword [0x1012c990]
movss xmm4, dword [0x1012c800]
movaps xmm5, xmmword [0x1012cb10]
mulss xmm0, xmm3
movups xmmword [esp + 0x58], xmm5
addss xmm0, xmm4
cvttss2si ebp, xmm0
movaps xmm0, xmm5
shl ebp, 0x18
comiss xmm1, xmm5
shufps xmm0, xmm5, 0xff
mulss xmm6, xmm0
jbe 0x1005cbf6
xorps xmm5, xmm5
jmp 0x1005cbfa
minss xmm5, xmm2
movss xmm0, dword [esp + 0x5c]
comiss xmm1, xmm0
mulss xmm5, xmm3
addss xmm5, xmm4
cvttss2si ecx, xmm5
jbe 0x1005cc16
xorps xmm0, xmm0
jmp 0x1005cc1a
minss xmm0, xmm2
mulss xmm0, xmm3
addss xmm0, xmm4
cvttss2si eax, xmm0
movss xmm0, dword [esp + 0x60]
shl eax, 8
or ecx, eax
comiss xmm1, xmm0
jbe 0x1005cc3b
xorps xmm0, xmm0
jmp 0x1005cc3f
minss xmm0, xmm2
mulss xmm0, xmm3
addss xmm0, xmm4
cvttss2si eax, xmm0
shl eax, 0x10
or ecx, eax
comiss xmm1, xmm6
jbe 0x1005cc5a
xorps xmm6, xmm6
jmp 0x1005cc5e
minss xmm6, xmm2
movaps xmm0, xmmword [0x1012cb00]
mulss xmm6, xmm3
movaps xmm5, xmm0
shufps xmm5, xmm0, 0xff
mulss xmm5, dword [ebx + 0x1528]
addss xmm6, xmm4
movups xmmword [esp + 0x58], xmm0
cvttss2si esi, xmm6
shl esi, 0x18
or esi, ecx
comiss xmm1, xmm0
jbe 0x1005cc94
xorps xmm0, xmm0
jmp 0x1005cc98
minss xmm0, xmm2
mulss xmm0, xmm3
addss xmm0, xmm4
cvttss2si ecx, xmm0
movss xmm0, dword [esp + 0x5c]
comiss xmm1, xmm0
jbe 0x1005ccb4
xorps xmm0, xmm0
jmp 0x1005ccb8
minss xmm0, xmm2
mulss xmm0, xmm3
addss xmm0, xmm4
cvttss2si eax, xmm0
movss xmm0, dword [esp + 0x60]
shl eax, 8
or ecx, eax
comiss xmm1, xmm0
jbe 0x1005ccd9
xorps xmm0, xmm0
jmp 0x1005ccdd
minss xmm0, xmm2
mulss xmm0, xmm3
addss xmm0, xmm4
cvttss2si eax, xmm0
shl eax, 0x10
or ecx, eax
comiss xmm1, xmm5
jbe 0x1005ccf8
xorps xmm5, xmm5
jmp 0x1005ccfc
minss xmm5, xmm2
mulss xmm5, xmm3
addss xmm5, xmm4
cvttss2si edx, xmm5
movaps xmm5, xmmword [0x1012cb00]
shl edx, 0x18
movaps xmm0, xmm5
or edx, ecx
shufps xmm0, xmm5, 0xff
comiss xmm1, xmm5
mulss xmm0, dword [ebx + 0x1528]
movups xmmword [esp + 0x58], xmm5
jbe 0x1005cd32
xorps xmm5, xmm5
jmp 0x1005cd36
minss xmm5, xmm2
mulss xmm5, xmm3
addss xmm5, xmm4
cvttss2si ecx, xmm5
movss xmm5, dword [esp + 0x5c]
comiss xmm1, xmm5
jbe 0x1005cd52
xorps xmm5, xmm5
jmp 0x1005cd56
minss xmm5, xmm2
mulss xmm5, xmm3
addss xmm5, xmm4
cvttss2si eax, xmm5
movss xmm5, dword [esp + 0x60]
shl eax, 8
or ecx, eax
comiss xmm1, xmm5
jbe 0x1005cd77
xorps xmm5, xmm5
jmp 0x1005cd7b
minss xmm5, xmm2
mulss xmm5, xmm3
addss xmm5, xmm4
cvttss2si eax, xmm5
shl eax, 0x10
or ecx, eax
comiss xmm1, xmm0
jbe 0x1005cd96
xorps xmm0, xmm0
jmp 0x1005cd9a
minss xmm0, xmm2
mulss xmm0, xmm3
push ebp
push esi
push edx
addss xmm0, xmm4
cvttss2si eax, xmm0
shl eax, 0x18
or eax, ecx
mov ecx, dword [esp + 0x54]
push eax
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0x2c]
push eax
call fcn.1004fd00
push dword [esp + 0xc8]
mov edx, 0x40
lea ecx, [esp + 0x7c]
push dword [esp + 0xc0]
push dword [esp + 0x30]
call fcn.1005bcc0
movss xmm0, dword [esp + 0x78]
lea esi, [esp + 0x84]
mov ecx, dword [0x10132b9c]
add esp, 0xc
addss xmm0, dword [edi + 0x1564]
movss xmm3, dword [0x1012c9d0]
add esi, eax
lea eax, [esp + 0x78]
movss xmm2, dword [ecx + 0x1940]
push 0
push 0
push eax
push ecx
mov ecx, dword [ecx + 0x193c]
lea eax, [esp + 0x28]
mov dword [esp], 0xbf800000
push eax
movss dword [esp + 0x5c], xmm0
call fcn.100524f0
movss xmm0, dword [esp + 0x18]
lea ecx, [esp + 0x78]
addss xmm0, dword [0x1012c83c]
movss xmm1, dword [esp + 0x40]
mov edx, esi
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
movss xmm0, dword [esp + 0x48]
movss dword [esp + 0x2c], xmm0
push dword [esp + 0x2c]
subss xmm1, dword [0x1012c844]
movss dword [esp + 0x2c], xmm1
push dword [esp + 0x2c]
push 1
call fcn.100385f0
movss xmm0, dword [esp + 0x40]
add esp, 0xc
comiss xmm0, dword [0x1012c718]
jbe 0x1005ced5
movss xmm0, dword [esp + 0x38]
xor edx, edx
mov ecx, dword [esp + 0x30]
movss dword [esp + 0x48], xmm0
movss xmm0, dword [esp + 0x6c]
addss xmm0, dword [edi + 0x1564]
movss dword [esp + 0x4c], xmm0
push dword [esp + 0x4c]
push dword [esp + 0x4c]
push 1
call fcn.100385f0
add esp, 0xc
mov al, byte [esp + 0x17]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa8
ret
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0xa8
ret