Function at 0x5a7a48
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 0x5a7de1
mov eax, dword [ebp + 8]
and eax, 2
mov dword [esp + 0x1c], eax
je 0x5a7aff
cmp dword [ebx + 0x190], 0
je 0x5a7aff
mov eax, ebx
mov ecx, dword [eax + 0x190]
mov dword [esp + 0x28], ecx
cmp dword [ecx + 0x10], 1
je 0x5a7aff
push 0
push dword [eax + 0x278]
add ecx, 0x58
call fcn.0058fe18
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.00570f78
mov eax, ebx
add esp, 4
mov eax, dword [eax + 0x278]
cmp esi, dword [eax]
je 0x5a7afb
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.0056db38
mov dword [esp + 0x10], eax
mov ecx, edi
cmp edi, 0xffffffff
jae 0x5a7b2e
nop dword [eax + eax]
mov dl, byte [ecx]
test dl, dl
je 0x5a7b2e
cmp dl, 0x23
jne 0x5a7b28
cmp byte [ecx + 1], dl
je 0x5a7b2e
inc ecx
cmp ecx, 0xffffffff
jb 0x5a7b18
mov eax, dword [0x10091850]
xorps xmm2, xmm2
movss xmm0, dword [eax + 0x18c8]
cmp edi, ecx
jne 0x5a7b47
xorps xmm7, xmm7
jmp 0x5a7b90
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.005933d8
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 0x5a7bbc
movaps xmm3, xmm0
movss dword [esp + 0x18], xmm0
movss xmm0, dword [edi]
ucomiss xmm0, xmm2
lahf
test ah, 0x44
jp 0x5a7bcc
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.0056e008
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 0x5a7c54
subss xmm1, dword [eax + 0xc]
jmp 0x5a7c78
cmp dword [eax + 0x190], 0
movss xmm0, dword [eax + 0xc]
subss xmm1, xmm0
movss dword [esp + 0x20], xmm1
je 0x5a7c7e
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 0x5a7cb0
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 0x5a7ccf
test ecx, ecx
jne 0x5a7ccf
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 0x5a7ced
test ecx, ecx
je 0x5a7cf1
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 0x5a7d96
mov esi, dword [ebx + 0x1a4]
mov eax, esi
or eax, 0x14
mov dword [ebx + 0x1a4], eax
call fcn.0056e138
mov dword [ebx + 0x1a4], esi
jmp 0x5a7d9b
call fcn.0056e138
add esp, 4
test al, al
jne 0x5a7dea
cmp dword [esp + 0x1c], 0
je 0x5a7de1
cmp dword [ebx + 0x190], 0
je 0x5a7de1
mov eax, dword [0x10091850]
mov edx, dword [eax + 0x19f8]
mov ecx, dword [edx + 0x190]
cmp dword [ecx + 0x10], 1
je 0x5a7de1
mov eax, dword [ecx + 0xc]
add ecx, 0x58
inc eax
push eax
push dword [edx + 0x278]
call fcn.0058fe18
call fcn.00571018
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.00595df8
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 0x5a7ea3
test cl, cl
je 0x5a7f3f
test edi, 0x2000000
je 0x5a7f3f
cmp byte [esi + 0x1b6f], 0
jne 0x5a7ee1
cmp dword [esi + 0x1b20], ebx
jne 0x5a7ee1
mov eax, dword [esi + 0x1b64]
cmp eax, dword [ebx + 0x134]
jne 0x5a7ee1
mov ecx, dword [esp + 0x10]
mov byte [esi + 0x1b6e], 1
push dword [ebx + 0x144]
mov edx, dword [ebx + 0x134]
call fcn.00579cc8
add esp, 4
cmp byte [esp + 0xd], 0
je 0x5a7f3f
mov edi, dword [0x10091850]
mov esi, edi
mov eax, dword [esi + 0x1a2c]
cmp eax, dword [esp + 0x10]
je 0x5a7f27
test eax, eax
je 0x5a7f27
cmp byte [esi + 0x1d88], 0
jne 0x5a7f27
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 0x5a7f45
mov edi, dword [0x10091850]
cmp dword [esp + 0x38], 0
je 0x5a7f7c
mov ecx, dword [edi + 0x19f8]
mov eax, dword [ecx + 0x10c]
cmp dword [edi + 0x1a18], eax
jne 0x5a7f6d
mov byte [edi + 0x1a1c], 1
mov eax, dword [ecx + 0x10c]
cmp dword [edi + 0x1a2c], eax
jne 0x5a7f7c
mov byte [edi + 0x1a39], 1
mov cl, byte [esp + 0xf]
test cl, cl
je 0x5a7f91
test dword [ebp + 8], 0x1000000
je 0x5a7f91
mov al, 1
jmp 0x5a7fa3
mov al, byte [esp + 0xe]
test al, al
jne 0x5a7fa3
cmp byte [esp + 0x28], al
je 0x5a8027
test cl, cl
je 0x5a7fb2
test al, al
je 0x5a7fb2
mov ecx, 0x1a
jmp 0x5a7fbc
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.0056bc98
mov ecx, dword [edx + 0x278]
push eax
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x38]
push eax
call fcn.0058e728
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x4c]
push 0xa
call fcn.0056cf38
mov edi, dword [0x10091850]
add esp, 4
cmp dword [esp + 0x1c], 0
je 0x5a80a9
cmp dword [ebx + 0x190], 0
je 0x5a80a9
mov edx, dword [edi + 0x19f8]
mov ecx, dword [edx + 0x190]
cmp dword [ecx + 0x10], 1
je 0x5a8067
mov eax, dword [ecx + 0xc]
add ecx, 0x58
inc eax
push eax
push dword [edx + 0x278]
call fcn.0058fe18
call fcn.00571018
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 0x5a8093
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 0x5a80ee
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.0057f898
mov edx, dword [esp + 0x14]
movups xmm0, xmmword [edx + 0x15d4]
movups xmmword [edi + 0x15c4], xmm0
mov edi, dword [0x10091850]
jmp 0x5a80f2
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x34]
mov esi, ecx
cmp ecx, 0xffffffff
jae 0x5a8112
mov al, byte [esi]
test al, al
je 0x5a8112
cmp al, 0x23
jne 0x5a810c
cmp byte [esi + 1], al
je 0x5a8112
inc esi
cmp esi, 0xffffffff
jb 0x5a80fd
mov eax, esi
sub eax, ecx
je 0x5a8162
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.0056bf08
add esp, 0x18
cmp byte [edi + 0x2db4], 0
je 0x5a8162
mov edx, dword [esp + 0x34]
lea ecx, [esp + 0x5c]
push esi
call fcn.0057d838
add esp, 4
cmp dword [esp + 0x18], 0
je 0x5a8173
mov ecx, 1
call fcn.005775d8
mov al, byte [esp + 0xd]
test al, al
je 0x5a7de3
test dword [ebx + 8], 0x4000000
je 0x5a7de3
test byte [ebp + 8], 1
jne 0x5a7de3
test byte [ebx + 0x1a4], 0x20
jne 0x5a7de3
call fcn.00579148
mov al, byte [esp + 0xd]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret