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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xb4
mov eax, dword [0x100a4040]
xor eax, esp
mov dword [esp + 0xb0], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
mov esi, ecx
mov dword [esp + 0x30], edx
mov dword [esp + 0x40], eax
lea edx, [esp + 0x1c]
mov eax, dword [ebp + 0x14]
push ecx
mov ecx, 0x10099294
mov dword [esp + 0x40], esi
mov dword [esp + 0x30], eax
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
call fcn.10054db0
mov edi, dword [0x100be9bc]
add esp, 4
mov eax, dword [edi + 0x1a6c]
mov byte [eax + 0x8c], 1
mov ebx, dword [edi + 0x1a6c]
cmp byte [ebx + 0x8f], 0
jne 0x1005a1ab
mov ecx, dword [ebx + 0xc0]
xor edx, edx
mov eax, dword [ebx + 0xc8]
push dword [eax + ecx*4 - 4]
mov ecx, esi
call fcn.10029a10
add esp, 4
mov dword [esp + 0x28], eax
cmp dword [edi + 0x1aa4], eax
jne 0x100597db
mov dword [edi + 0x1aa8], eax
cmp dword [edi + 0x1adc], eax
jne 0x100597ea
mov byte [edi + 0x1ae0], 1
test byte [edi + 0x1b50], 1
je 0x100597fd
movss xmm0, dword [edi + 0x1b54]
jmp 0x10059805
movss xmm0, dword [ebx + 0x1b4]
xorps xmm1, xmm1
comiss xmm1, xmm0
jbe 0x1005984c
cmp dword [ebx + 0x198], 0
mov edx, edi
movss xmm1, dword [ebx + 0x24c]
jne 0x10059829
cmp dword [edx + 0x1efc], 0
je 0x10059831
movss xmm1, dword [ebx + 0x21c]
subss xmm1, dword [ebx + 0xcc]
addss xmm1, xmm0
movss xmm0, dword [0x1009a1b4]
maxss xmm0, xmm1
xorps xmm1, xmm1
mov eax, dword [esp + 0x3c]
mov ecx, eax
cvttss2si esi, xmm0
cmp eax, 0xffffffff
jae 0x10059876
nop dword [eax + eax]
mov dl, byte [ecx]
test dl, dl
je 0x10059876
cmp dl, 0x23
jne 0x10059870
cmp byte [ecx + 1], dl
je 0x10059876
inc ecx
cmp ecx, 0xffffffff
jb 0x10059860
mov edx, edi
movss xmm2, dword [edx + 0x1930]
cmp eax, ecx
jne 0x1005988c
movss dword [esp + 0x44], xmm1
jmp 0x100598d5
movss xmm3, dword [0x1009a36c]
push 0
push ecx
push eax
push ecx
mov ecx, dword [edx + 0x192c]
lea eax, [esp + 0x2c]
mov dword [esp], 0xbf800000
push eax
call fcn.1004a020
movss xmm0, dword [esp + 0x1c]
addss xmm0, dword [0x1009a1b0]
movss xmm2, dword [esp + 0x20]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp + 0x44], xmm0
movss xmm0, dword [edi + 0x1554]
lea ecx, [esp + 0x1c]
movss xmm5, dword [ebx + 0xcc]
movaps xmm6, xmm0
movss xmm4, dword [ebx + 0xd0]
addss xmm6, xmm0
movss xmm0, dword [edi + 0x1568]
movaps xmm7, xmm5
addss xmm0, dword [0x1009a294]
movd xmm1, esi
movaps xmm3, xmm4
addss xmm3, dword [0x1009a284]
addss xmm6, xmm2
movaps xmm2, xmm5
cvtdq2ps xmm1, xmm1
addss xmm3, dword [0x1009a268]
addss xmm7, xmm1
xorps xmm1, xmm1
addss xmm6, xmm4
subss xmm4, dword [0x1009a258]
addss xmm2, xmm1
subss xmm5, xmm1
movss dword [esp + 0x6c], xmm3
subss xmm7, xmm0
subss xmm6, dword [0x1009a258]
movss dword [esp + 0x5c], xmm4
addss xmm2, xmm1
movss xmm1, dword [edi + 0x1554]
movss dword [esp + 0x58], xmm5
movss dword [esp + 0x60], xmm7
addss xmm7, dword [0x1009a0f8]
movss dword [esp + 0x64], xmm6
addss xmm6, dword [0x1009a294]
movss dword [esp + 0x68], xmm2
movss dword [esp + 0x70], xmm7
subss xmm7, xmm2
movss dword [esp + 0x74], xmm6
subss xmm6, xmm3
movss dword [esp + 0x1c], xmm7
movss dword [esp + 0x20], xmm6
call fcn.10035510
mov esi, dword [esp + 0x28]
lea eax, [esp + 0x58]
push eax
mov edx, esi
lea ecx, [esp + 0x6c]
call fcn.10035640
add esp, 4
test al, al
je 0x1005a1ab
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x100599ee
mov eax, dword [esp + 0x30]
shl eax, 4
mov eax, dword [eax + 0x100973f0]
jmp 0x10059a32
cmp dword [esp + 0x30], 4
jne 0x10059a36
mov ecx, 0x10097624
nop word [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10059a20
test dl, dl
je 0x10059a1c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10059a20
add eax, 2
add ecx, 2
test dl, dl
jne 0x10059a00
xor eax, eax
jmp 0x10059a25
sbb eax, eax
or eax, 1
test eax, eax
je 0x10059a36
mov ecx, dword [esp + 0x2c]
call fcn.10057c50
mov dword [esp + 0x2c], eax
mov edx, esi
lea ecx, [esp + 0x58]
call fcn.1002c720
mov ecx, dword [0x100be9bc]
mov byte [esp + 0xe], al
cmp dword [ecx + 0x1aa4], esi
jne 0x10059a5f
cmp dword [ecx + 0x2e50], esi
je 0x1005a174
mov edx, esi
mov ecx, ebx
call fcn.1002c9a0
cmp byte [esp + 0xe], 0
mov cl, al
mov byte [esp + 0xf], cl
je 0x10059a82
cmp byte [edi + 0x3d8], 0
je 0x10059a82
mov al, 1
jmp 0x10059a84
xor al, al
mov byte [esp + 0xe], al
test cl, cl
jne 0x10059aa0
test al, al
jne 0x10059aa0
cmp dword [edi + 0x1bd0], esi
je 0x10059aa0
cmp dword [edi + 0x1bdc], esi
jne 0x10059ae7
mov edx, ebx
mov ecx, esi
call fcn.1002c4e0
call fcn.10037320
mov ecx, ebx
call fcn.10034cc0
or dword [edi + 0x1ab8], 3
cmp byte [esp + 0xf], 0
jne 0x1005a168
cmp byte [esp + 0xe], 0
je 0x10059adb
cmp byte [edi + 0xfc], 0
jne 0x1005a168
cmp dword [edi + 0x1bdc], esi
je 0x1005a168
cmp dword [edi + 0x1aa4], esi
jne 0x10059af6
mov ecx, 9
jmp 0x10059b04
xor ecx, ecx
cmp dword [edi + 0x1a90], esi
sete cl
add ecx, 7
movss xmm1, dword [0x1009a1b4]
call fcn.1002a390
mov edx, dword [esp + 0x28]
lea ecx, [esp + 0x58]
push 1
mov esi, eax
call fcn.1002b740
movss xmm0, dword [esp + 0x5c]
xorps xmm1, xmm1
addss xmm0, xmm1
mov dl, 1
mov ecx, esi
movss dword [esp + 0x4c], xmm0
movss dword [esp + 0x3c], xmm0
movss xmm0, dword [esp + 0x60]
addss xmm0, dword [0x1009a264]
movss dword [esp + 0x50], xmm0
movss dword [esp + 0x1c], xmm0
movss xmm0, dword [esp + 0x64]
subss xmm0, xmm1
movss dword [esp + 0x20], xmm0
movss dword [esp + 0x38], xmm0
movss xmm0, dword [esp + 0x68]
subss xmm0, dword [0x1009a264]
movss dword [esp + 0x24], xmm0
movss xmm0, dword [edi + 0x1558]
movss dword [esp], xmm0
push dword [esp + 0x24]
push dword [esp + 0x24]
push dword [esp + 0x58]
push dword [esp + 0x58]
call fcn.1002b520
movss xmm2, dword [0x1009a1b4]
lea eax, [esp + 0x24]
movss xmm0, dword [esp + 0x48]
add esp, 0x10
movss xmm1, dword [esp + 0x1c]
subss xmm0, xmm2
mov ecx, dword [ebx + 0x288]
subss xmm1, xmm2
mov dword [esp], 0x3f800000
push 0xff585858
movss dword [esp + 0x2c], xmm0
movss dword [esp + 0x18], xmm0
movss xmm0, dword [esp + 0x40]
subss xmm0, xmm2
movss dword [esp + 0x20], xmm1
push eax
lea eax, [esp + 0x74]
movss dword [esp + 0x20], xmm1
push eax
movss dword [esp + 0x7c], xmm1
movss dword [esp + 0x58], xmm0
movss dword [esp + 0x78], xmm0
call fcn.10045c20
movss xmm0, dword [esp + 0x48]
lea eax, [esp + 0x68]
movss xmm1, dword [esp + 0x20]
push ecx
mov ecx, dword [ebx + 0x288]
mov dword [esp], 0x3f800000
push 0xff585858
push eax
movss dword [esp + 0x74], xmm0
lea eax, [esp + 0x1c]
movss dword [esp + 0x1c], xmm0
movss xmm0, dword [esp + 0x24]
push eax
movss dword [esp + 0x7c], xmm1
movss dword [esp + 0x24], xmm0
call fcn.10045c20
movss xmm0, dword [esp + 0x24]
movss xmm1, dword [esp + 0x20]
push ecx
movss dword [esp + 0x6c], xmm0
movss dword [esp + 0x14], xmm0
movss xmm0, dword [esp + 0x1c]
mov dword [esp], 0x3f800000
movss dword [esp + 0x70], xmm1
movss dword [esp + 0x18], xmm0
push 0xffc1c1c1
mov ecx, dword [ebx + 0x288]
lea eax, [esp + 0x70]
push eax
lea eax, [esp + 0x1c]
push eax
call fcn.10045c20
movss xmm0, dword [esp + 0x24]
lea eax, [esp + 0x68]
movss xmm1, dword [esp + 0x20]
push ecx
mov ecx, dword [ebx + 0x288]
mov dword [esp], 0x3f800000
push 0xffc1c1c1
push eax
movss dword [esp + 0x74], xmm0
lea eax, [esp + 0x1c]
movss xmm0, dword [esp + 0x54]
push eax
movss dword [esp + 0x7c], xmm1
movss dword [esp + 0x20], xmm0
movss dword [esp + 0x24], xmm1
call fcn.10045c20
mov edx, dword [esp + 0x28]
lea eax, [esp + 0x48]
push eax
push ecx
push dword [esp + 0x34]
xorps xmm0, xmm0
lea ecx, [esp + 0x64]
push dword [ebp + 0x10]
movups xmmword [esp + 0x58], xmm0
push dword [ebp + 0xc]
push dword [esp + 0x54]
push dword [esp + 0x48]
call fcn.100594f0
add esp, 0x1c
mov byte [esp + 0xf], al
test al, al
je 0x10059d51
mov ecx, dword [0x100be9bc]
mov word [ecx + 0x1ab4], 0x101
mov ecx, dword [ecx + 0x1a6c]
or dword [ecx + 0x11c], 4
movss xmm0, dword [esp + 0x50]
xor esi, esi
movss xmm3, dword [esp + 0x38]
movaps xmm1, xmm0
movss xmm2, dword [esp + 0x34]
movss xmm4, dword [0x1009a1b4]
subss xmm2, dword [0x1009a1e8]
movss xmm5, dword [esp + 0x20]
addss xmm3, xmm4
movss dword [esp + 0x24], xmm0
movss xmm0, dword [esp + 0x48]
subss xmm1, xmm0
movss dword [esp + 0x18], xmm0
movaps xmm0, xmm5
addss xmm0, dword [0x1009a264]
addss xmm5, dword [0x1009a248]
mulss xmm1, dword [0x1009a174]
movss dword [esp + 0x6c], xmm0
movss dword [esp + 0x14], xmm5
addss xmm3, xmm1
subss xmm2, xmm1
movss dword [esp + 0x38], xmm3
subss xmm2, xmm3
movss dword [esp + 0x34], xmm2
nop word [eax + eax]
movd xmm0, esi
lea eax, [esp + 0x68]
cvtdq2ps xmm0, xmm0
push ecx
mov ecx, dword [ebx + 0x288]
mov dword [esp], 0x3f800000
push 0xffd9d9d9
push eax
mulss xmm0, xmm2
lea eax, [esp + 0x1c]
push eax
divss xmm0, dword [0x1009a268]
addss xmm0, xmm3
subss xmm0, xmm4
movss dword [esp + 0x78], xmm0
movss dword [esp + 0x20], xmm0
call fcn.10045c20
movss xmm2, dword [esp + 0x34]
inc esi
movss xmm3, dword [esp + 0x38]
movss xmm4, dword [0x1009a1b4]
cmp esi, 0xb
jl 0x10059de0
movss xmm0, dword [esp + 0x24]
movss xmm2, dword [esp + 0x18]
comiss xmm0, xmm2
mov esi, dword [esp + 0x28]
jbe 0x1005a038
subss xmm0, dword [0x1009a1e8]
movaps xmm1, xmm4
push 0xf
push ecx
xor ecx, ecx
addss xmm2, xmm1
cmp dword [edi + 0x1aa4], esi
movss dword [esp + 0x2c], xmm0
movss dword [esp + 0x58], xmm0
sete cl
movss xmm0, dword [esp + 0x54]
add ecx, 0x13
addss xmm0, xmm1
movss dword [esp + 0x20], xmm2
movss dword [esp + 0x50], xmm2
movss dword [esp + 0x30], xmm0
movss dword [esp + 0x54], xmm0
movss xmm0, dword [esp + 0x5c]
subss xmm0, xmm1
movss dword [esp + 0x5c], xmm0
movss xmm0, dword [edi + 0x1594]
movss dword [esp], xmm0
call fcn.1002a390
mov ecx, dword [ebx + 0x288]
push eax
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x58]
push eax
call fcn.10045e30
movss xmm1, dword [0x1009a1b4]
lea eax, [esp + 0x68]
movss xmm0, dword [esp + 0x24]
movss xmm2, dword [esp + 0x18]
subss xmm0, xmm1
push ecx
mov ecx, dword [ebx + 0x288]
subss xmm2, xmm1
mov dword [esp], 0x3f800000
push 0xff585858
movss dword [esp + 0x2c], xmm0
movss dword [esp + 0x70], xmm0
movss xmm0, dword [esp + 0x30]
subss xmm0, xmm1
movss dword [esp + 0x20], xmm2
push eax
lea eax, [esp + 0x1c]
movss dword [esp + 0x1c], xmm2
push eax
movss dword [esp + 0x38], xmm0
movss dword [esp + 0x7c], xmm0
movss dword [esp + 0x24], xmm0
call fcn.10045c20
movss xmm0, dword [esp + 0x54]
lea eax, [esp + 0x68]
movss xmm1, dword [esp + 0x18]
push ecx
mov ecx, dword [ebx + 0x288]
mov dword [esp], 0x3f800000
push 0xff585858
push eax
movss dword [esp + 0x78], xmm0
lea eax, [esp + 0x1c]
movss xmm0, dword [esp + 0x34]
push eax
movss dword [esp + 0x78], xmm1
movss dword [esp + 0x20], xmm1
movss dword [esp + 0x24], xmm0
call fcn.10045c20
movss xmm0, dword [esp + 0x54]
lea eax, [esp + 0x68]
movss xmm1, dword [esp + 0x24]
push ecx
mov dword [esp], 0x3f800000
movss dword [esp + 0x70], xmm0
movss xmm0, dword [esp + 0x2c]
push 0xffc1c1c1
movss dword [esp + 0x70], xmm1
movss dword [esp + 0x18], xmm1
movss dword [esp + 0x1c], xmm0
push eax
mov ecx, dword [ebx + 0x288]
lea eax, [esp + 0x1c]
push eax
call fcn.10045c20
movss xmm0, dword [esp + 0x24]
lea eax, [esp + 0x68]
movss xmm1, dword [esp + 0x18]
push ecx
mov ecx, dword [ebx + 0x288]
mov dword [esp], 0x3f800000
push 0xffc1c1c1
push eax
movss dword [esp + 0x74], xmm0
lea eax, [esp + 0x1c]
movss xmm0, dword [esp + 0x60]
push eax
movss dword [esp + 0x7c], xmm0
movss dword [esp + 0x20], xmm1
movss dword [esp + 0x24], xmm0
call fcn.10045c20
push dword [esp + 0x2c]
mov edx, 0x40
lea ecx, [esp + 0x7c]
push dword [esp + 0x44]
push dword [esp + 0x38]
call fcn.10057cf0
lea ecx, [esp + 0x84]
add esp, 0xc
add ecx, eax
cmp byte [edi + 0x2f08], 0
je 0x1005a080
mov eax, dword [0x100be9bc]
mov dword [eax + 0x2f20], 0x1009922c
mov dword [eax + 0x2f24], 0x10099228
movss xmm1, dword [esp + 0x60]
lea eax, [esp + 0x68]
movaps xmm0, xmm1
mov dword [esp + 0x68], 0x3f000000
addss xmm0, dword [0x1009a2a0]
subss xmm1, dword [esp + 0x58]
xorps xmm2, xmm2
mov dword [esp + 0x6c], 0x3f000000
push 0
push eax
movss dword [esp + 0x18], xmm0
lea eax, [esp + 0x80]
movss xmm0, dword [esp + 0x6c]
lea edx, [esp + 0x18]
addss xmm1, dword [esp + 0x60]
addss xmm0, xmm2
push 0
push ecx
push eax
lea ecx, [esp + 0x30]
movss dword [esp + 0x30], xmm1
movss dword [esp + 0x28], xmm0
movss xmm0, dword [esp + 0x70]
addss xmm0, xmm2
movss dword [esp + 0x34], xmm0
call fcn.1002ac40
movss xmm0, dword [esp + 0x58]
add esp, 0x14
comiss xmm0, dword [0x1009a0f8]
jbe 0x1005a14f
movss xmm0, dword [esp + 0x58]
xor edx, edx
mov ecx, dword [esp + 0x3c]
movss dword [esp + 0x1c], xmm0
movss xmm0, dword [esp + 0x5c]
addss xmm0, dword [edi + 0x1554]
push 0
push 1
subss xmm0, dword [0x1009a284]
movss dword [esp + 0x28], xmm0
push dword [esp + 0x28]
push dword [esp + 0x28]
call fcn.1002a690
add esp, 0x10
mov al, byte [esp + 0xf]
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.1008a073
mov esp, ebp
pop ebp
ret
dec dword [ebx + 0x1a8]
dec dword [ebx + 0x1ac]
push 0
push 0
push dword [esp + 0x34]
mov edx, esi
lea ecx, [esp + 0x64]
push dword [esp + 0x4c]
push dword [esp + 0x40]
push dword [esp + 0x50]
call fcn.1005a370
add esp, 0x18
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.1008a073
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0xbc]
xor al, al
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.1008a073
mov esp, ebp
pop ebp
ret