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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x74
push ebx
push esi
mov esi, dword [0x10091850]
push edi
mov edi, ecx
mov byte [esp + 0xd], dl
mov dword [esp + 0x34], edi
mov eax, dword [esi + 0x19f8]
mov dword [esp + 0x14], esi
mov byte [eax + 0x7c], 1
mov ebx, dword [esi + 0x19f8]
cmp byte [ebx + 0x7f], 0
jne 0x602eb5
mov eax, dword [ebp + 8]
and eax, 2
mov dword [esp + 0x1c], eax
je 0x602bd3
cmp dword [ebx + 0x190], 0
je 0x602bd3
mov eax, ebx
mov ecx, dword [eax + 0x190]
mov dword [esp + 0x28], ecx
cmp dword [ecx + 0x10], 1
je 0x602bd3
push 0
push dword [eax + 0x278]
add ecx, 0x58
call fcn.005eaeec
mov ecx, ebx
push 0
mov eax, dword [ecx + 0x278]
mov ecx, dword [esp + 0x2c]
mov esi, dword [eax]
lea edx, [ecx + 0x34]
add ecx, 0x2c
call fcn.005cc04c
mov eax, ebx
add esp, 4
mov eax, dword [eax + 0x278]
cmp esi, dword [eax]
je 0x602bcf
push 0x1e51
push 0x10088f60
push 0x1008a660
call dword [0x1005d2e0]
add esp, 0xc
mov esi, dword [esp + 0x14]
push ecx
push edi
mov ecx, ebx
call fcn.005c8c0c
mov dword [esp + 0x10], eax
mov ecx, edi
cmp edi, 0xffffffff
jae 0x602c02
nop dword [eax + eax]
mov dl, byte [ecx]
test dl, dl
je 0x602c02
cmp dl, 0x23
jne 0x602bfc
cmp byte [ecx + 1], dl
je 0x602c02
inc ecx
cmp ecx, 0xffffffff
jb 0x602bec
mov eax, dword [0x10091850]
xorps xmm2, xmm2
movss xmm0, dword [eax + 0x18c8]
cmp edi, ecx
jne 0x602c1b
xorps xmm7, xmm7
jmp 0x602c64
movss xmm3, dword [0x1008b38c]
movaps xmm2, xmm0
push 0
push ecx
push edi
push ecx
lea ecx, [esp + 0x48]
mov dword [esp], 0xbf800000
push ecx
mov ecx, dword [eax + 0x18c4]
call fcn.005ee4ac
movss xmm0, dword [esp + 0x38]
xorps xmm2, xmm2
addss xmm0, dword [0x1008b274]
cvttss2si eax, xmm0
movss xmm0, dword [esp + 0x3c]
movd xmm7, eax
cvtdq2ps xmm7, xmm7
mov edi, dword [ebp + 0xc]
movss dword [esp + 0x48], xmm0
movss dword [esp + 0x44], xmm7
movss xmm3, dword [edi + 4]
ucomiss xmm3, xmm2
movss dword [esp + 0x18], xmm3
lahf
test ah, 0x44
jp 0x602c90
movaps xmm3, xmm0
movss dword [esp + 0x18], xmm0
movss xmm0, dword [edi]
ucomiss xmm0, xmm2
lahf
test ah, 0x44
jp 0x602ca0
movaps xmm0, xmm7
movss xmm5, dword [ebx + 0xf8]
lea ecx, [esp + 0x20]
addss xmm5, dword [ebx + 0xcc]
movss xmm4, dword [ebx + 0xc8]
movaps xmm1, xmm4
movss dword [esp + 0x20], xmm0
addss xmm1, xmm0
movss dword [esp + 0x24], xmm3
movss dword [esp + 0x28], xmm4
movaps xmm0, xmm5
movss dword [esp + 0x38], xmm5
addss xmm0, xmm3
movss dword [esp + 0x5c], xmm4
movss dword [esp + 0x60], xmm5
movss dword [esp + 0x64], xmm1
xorps xmm1, xmm1
movss dword [esp + 0x68], xmm0
call fcn.005c90dc
cmp dword [esp + 0x1c], 0
mov eax, dword [0x10091850]
movss xmm3, dword [ebx + 0x34]
mov eax, dword [eax + 0x19f8]
movss xmm1, dword [eax + 0x244]
je 0x602d28
subss xmm1, dword [eax + 0xc]
jmp 0x602d4c
cmp dword [eax + 0x190], 0
movss xmm0, dword [eax + 0xc]
subss xmm1, xmm0
movss dword [esp + 0x20], xmm1
je 0x602d52
movss xmm1, dword [eax + 0x224]
subss xmm1, xmm0
movss dword [esp + 0x20], xmm1
movss xmm0, dword [ebx + 0xc]
movss xmm5, dword [esp + 0x28]
addss xmm0, xmm1
movss xmm2, dword [edi + 4]
subss xmm0, xmm3
subss xmm0, xmm5
maxss xmm7, xmm0
xorps xmm0, xmm0
ucomiss xmm2, xmm0
lahf
test ah, 0x44
jp 0x602d84
movss xmm2, dword [esp + 0x18]
mov edx, dword [ebp + 8]
mov ecx, edx
movss xmm1, dword [edi]
and ecx, 0x800000
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jnp 0x602da3
test ecx, ecx
jne 0x602da3
movaps xmm7, xmm1
ucomiss xmm1, xmm0
addss xmm5, xmm7
movss xmm7, dword [esp + 0x38]
movaps xmm6, xmm7
lahf
addss xmm6, xmm2
test ah, 0x44
jnp 0x602dc1
test ecx, ecx
je 0x602dc5
addss xmm5, xmm3
movss xmm3, dword [esi + 0x1558]
lea ecx, [esp + 0x4c]
movss xmm4, dword [esi + 0x155c]
movaps xmm0, xmm3
mulss xmm0, dword [0x1008b208]
push 0
movss xmm1, dword [esp + 0x2c]
cvttss2si eax, xmm0
movaps xmm0, xmm4
mulss xmm0, dword [0x1008b208]
movd xmm2, eax
cvttss2si eax, xmm0
cvtdq2ps xmm2, xmm2
movd xmm0, eax
mov eax, edx
mov edx, dword [esp + 0x14]
subss xmm3, xmm2
cvtdq2ps xmm0, xmm0
and eax, 8
mov dword [esp + 0x1c], eax
subss xmm1, xmm2
subss xmm4, xmm0
subss xmm7, xmm0
addss xmm3, xmm5
movss dword [esp + 0x50], xmm1
addss xmm4, xmm6
movss dword [esp + 0x54], xmm7
movss dword [esp + 0x58], xmm3
movss dword [esp + 0x5c], xmm4
je 0x602e6a
mov esi, dword [ebx + 0x1a4]
mov eax, esi
or eax, 0x14
mov dword [ebx + 0x1a4], eax
call fcn.005c920c
mov dword [ebx + 0x1a4], esi
jmp 0x602e6f
call fcn.005c920c
add esp, 4
test al, al
jne 0x602ebe
cmp dword [esp + 0x1c], 0
je 0x602eb5
cmp dword [ebx + 0x190], 0
je 0x602eb5
mov eax, dword [0x10091850]
mov edx, dword [eax + 0x19f8]
mov ecx, dword [edx + 0x190]
cmp dword [ecx + 0x10], 1
je 0x602eb5
mov eax, dword [ecx + 0xc]
add ecx, 0x58
inc eax
push eax
push dword [edx + 0x278]
call fcn.005eaeec
call fcn.005cc0ec
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov esi, 0
mov edi, dword [ebp + 8]
mov ecx, eax
shr ecx, 7
and ecx, 0x2000
mov edx, ecx
or edx, 2
and eax, 0x200000
mov eax, edi
cmove edx, ecx
mov ecx, edx
or ecx, 0x10
and eax, 0x400000
mov eax, edi
cmove ecx, edx
mov edx, ecx
or edx, 0x400
cmp dword [esp + 0x18], 0
cmove edx, ecx
mov ecx, edx
or ecx, 0x24
and al, 4
movzx eax, byte [esp + 0xd]
cmove ecx, edx
mov edx, edi
and edx, 0x10
cmp dword [esp + 0x18], 0
mov dword [esp + 0x38], edx
cmove esi, eax
mov eax, ecx
or eax, 0x100
mov dword [esp + 0x28], esi
test edx, edx
mov edx, dword [esp + 0x10]
cmove eax, ecx
lea ecx, [esp + 0x4c]
push eax
lea eax, [esp + 0x13]
push eax
lea eax, [esp + 0x16]
push eax
call fcn.005f0ecc
mov esi, dword [esp + 0x20]
mov cl, al
add esp, 0xc
mov byte [esp + 0xd], cl
test cl, cl
mov cl, byte [esp + 0xe]
mov byte [esp + 0xe], cl
jne 0x602f77
test cl, cl
je 0x603013
test edi, 0x2000000
je 0x603013
cmp byte [esi + 0x1b6f], 0
jne 0x602fb5
cmp dword [esi + 0x1b20], ebx
jne 0x602fb5
mov eax, dword [esi + 0x1b64]
cmp eax, dword [ebx + 0x134]
jne 0x602fb5
mov ecx, dword [esp + 0x10]
mov byte [esi + 0x1b6e], 1
push dword [ebx + 0x144]
mov edx, dword [ebx + 0x134]
call fcn.005d4d9c
add esp, 4
cmp byte [esp + 0xd], 0
je 0x603013
mov edi, dword [0x10091850]
mov esi, edi
mov eax, dword [esi + 0x1a2c]
cmp eax, dword [esp + 0x10]
je 0x602ffb
test eax, eax
je 0x602ffb
cmp byte [esi + 0x1d88], 0
jne 0x602ffb
push 0xb0c
push 0x1005d678
push 0x1005d7c0
call dword [0x1005d2e0]
mov edi, dword [0x10091850]
add esp, 0xc
mov eax, dword [esi + 0x19f8]
mov word [esi + 0x1a3b], 0x101
or dword [eax + 0x110], 4
jmp 0x603019
mov edi, dword [0x10091850]
cmp dword [esp + 0x38], 0
je 0x603050
mov ecx, dword [edi + 0x19f8]
mov eax, dword [ecx + 0x10c]
cmp dword [edi + 0x1a18], eax
jne 0x603041
mov byte [edi + 0x1a1c], 1
mov eax, dword [ecx + 0x10c]
cmp dword [edi + 0x1a2c], eax
jne 0x603050
mov byte [edi + 0x1a39], 1
mov cl, byte [esp + 0xf]
test cl, cl
je 0x603065
test dword [ebp + 8], 0x1000000
je 0x603065
mov al, 1
jmp 0x603077
mov al, byte [esp + 0xe]
test al, al
jne 0x603077
cmp byte [esp + 0x28], al
je 0x6030fb
test cl, cl
je 0x603086
test al, al
je 0x603086
mov ecx, 0x1a
jmp 0x603090
xor ecx, ecx
test al, al
setne cl
add ecx, 0x18
mov eax, dword [esp + 0x54]
movss xmm1, dword [0x1008b278]
mov edx, dword [edi + 0x19f8]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x4c]
push 0xf
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x54]
push ecx
mov dword [esp + 0x34], eax
mov dword [esp], 0
call fcn.005c6d6c
mov ecx, dword [edx + 0x278]
push eax
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x38]
push eax
call fcn.005e97fc
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x4c]
push 0xa
call fcn.005c800c
mov edi, dword [0x10091850]
add esp, 4
cmp dword [esp + 0x1c], 0
je 0x60317d
cmp dword [ebx + 0x190], 0
je 0x60317d
mov edx, dword [edi + 0x19f8]
mov ecx, dword [edx + 0x190]
cmp dword [ecx + 0x10], 1
je 0x60313b
mov eax, dword [ecx + 0xc]
add ecx, 0x58
inc eax
push eax
push dword [edx + 0x278]
call fcn.005eaeec
call fcn.005cc0ec
mov edi, dword [0x10091850]
mov eax, dword [edi + 0x19f8]
cmp dword [eax + 0x190], 0
movss xmm0, dword [eax + 0xc]
movss xmm1, dword [eax + 0x244]
subss xmm1, xmm0
je 0x603167
movss xmm1, dword [eax + 0x224]
subss xmm1, xmm0
subss xmm1, dword [esp + 0x20]
movss xmm0, dword [esp + 0x54]
subss xmm0, xmm1
movss dword [esp + 0x54], xmm0
cmp dword [esp + 0x18], 0
je 0x6031c2
movups xmm0, xmmword [edi + 0x15c4]
lea eax, [esp + 0x6c]
mov dword [esp + 0x6c], 0
push eax
lea ecx, [edi + 0x1ae4]
movups xmmword [esp + 0x74], xmm0
call fcn.005da96c
mov edx, dword [esp + 0x14]
movups xmm0, xmmword [edx + 0x15d4]
movups xmmword [edi + 0x15c4], xmm0
mov edi, dword [0x10091850]
jmp 0x6031c6
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x34]
mov esi, ecx
cmp ecx, 0xffffffff
jae 0x6031e6
mov al, byte [esi]
test al, al
je 0x6031e6
cmp al, 0x23
jne 0x6031e0
cmp byte [esi + 1], al
je 0x6031e6
inc esi
cmp esi, 0xffffffff
jb 0x6031d1
mov eax, esi
sub eax, ecx
je 0x603236
lea eax, [esp + 0x4c]
push eax
lea eax, [edx + 0x159c]
push eax
lea eax, [esp + 0x4c]
push eax
push esi
push ecx
mov ecx, dword [edi + 0x19f8]
lea eax, [esp + 0x78]
push eax
lea edx, [esp + 0x74]
mov ecx, dword [ecx + 0x278]
call fcn.005c6fdc
add esp, 0x18
cmp byte [edi + 0x2db4], 0
je 0x603236
mov edx, dword [esp + 0x34]
lea ecx, [esp + 0x5c]
push esi
call fcn.005d890c
add esp, 4
cmp dword [esp + 0x18], 0
je 0x603247
mov ecx, 1
call fcn.005d26ac
mov al, byte [esp + 0xd]
test al, al
je 0x602eb7
test dword [ebx + 8], 0x4000000
je 0x602eb7
test byte [ebp + 8], 1
jne 0x602eb7
test byte [ebx + 0x1a4], 0x20
jne 0x602eb7
call fcn.005d421c
mov al, byte [esp + 0xd]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret