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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
push 0xffffffffffffffff
push 0x6e0d2b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x178
push ebx
push esi
mov esi, dword [ebp + 8]
mov eax, dword [esi]
xor ebx, ebx
cmp eax, ebx
push edi
je 0x50fc5a
push eax
lea eax, [esp + 0xa0]
lea ecx, [esp + 0xa4]
mov edi, edx
call fcn.00503f10
cmp eax, 0xffffffff
mov dword [esp + 0xdc], eax
je 0x50fc5a
cmp dword [esi + 0x28], ebx
mov dword [esp + 0x6c], ebx
jg 0x50fc80
xor eax, eax
mov ecx, dword [esp + 0x184]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c
mov eax, dword [esp + 0xdc]
lea ebx, [ebx]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esi + 0x2c]
shl ecx, 5
mov dword [esp + 0x14], ecx
add ecx, edx
movsx edx, word [ecx + 0x14]
cmp edx, eax
jne 0x51064c
mov eax, dword [ecx + 0x10]
mov edx, dword [esi + 0xc]
xor ecx, ecx
cmp eax, edx
setge cl
mov dword [esi + 0x1c], eax
mov dword [esp + 0xa4], ebx
mov dword [esp + 0xa8], ebx
mov dword [esp + 0xac], ebx
mov dword [esp + 0xb4], ebx
mov dword [esp + 0xb0], ebx
mov dword [esi + 0x24], ecx
mov edi, dword [esp + 0x14]
mov dword [esp + 0x18c], ebx
mov edx, dword [esi + 0x2c]
movsx ebx, word [edx + edi + 0x18]
lea esi, [esp + 0xa4]
call fcn.00511190
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x2c]
movsx edx, word [eax + edi + 0x16]
movsx esi, word [eax + edi + 0x18]
add eax, edi
movsx eax, word [eax + 0x16]
add esi, eax
cmp edx, esi
mov dword [esp + 0xd4], 0
mov dword [esp + 0x18], edx
jge 0x51004d
lea eax, [edx + edx*2]
shl eax, 2
mov dword [esp + 0x1c], eax
lea ebx, [ebx]
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov edx, dword [eax + 0x34]
mov eax, dword [esp + 0x1c]
movsx edx, word [eax + edx]
mov eax, dword [ecx]
mov esi, dword [ecx + 0x14]
mov eax, dword [eax + edx*8]
mov edi, dword [ebp + 0x20]
add eax, esi
mov esi, dword [ebp + 0x1c]
mov ecx, esi
or ecx, edi
mov dword [esp + 0xb8], esi
mov dword [esp + 0xbc], edi
mov ecx, 0x8d68e0
jne 0x50fd8c
push eax
lea edx, [esp + 0x13c]
push edx
call fcn.0045ffe0
mov esi, dword [eax]
mov edi, dword [eax + 4]
mov dword [esp + 0xb8], esi
mov dword [esp + 0xbc], edi
jmp 0x50fd94
push edi
push esi
push eax
call fcn.00460040
xor eax, eax
cmp esi, 0xffffffff
jne 0x50fdb4
test eax, eax
jne 0x50fdb4
mov ecx, dword [0x916514]
push edi
push esi
call fcn.00467180
mov ebx, dword [0x916514]
jmp 0x50fddf
push edi
push esi
mov eax, 0x8d68e0
call fcn.0043b2d0
cmp eax, 0xffffffff
je 0x510014
mov ecx, dword [0x8d68e8]
lea eax, [eax + eax*2]
mov eax, dword [ecx + eax*8 + 8]
shl eax, 5
mov ebx, dword [eax + 0x8d725c]
test ebx, ebx
je 0x510014
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 0x60]
test byte [eax + 0x3c], 4
jne 0x50fe07
push 0
push edi
push esi
mov ecx, 0x8d68e0
call fcn.004602f0
jmp 0x510014
mov eax, dword [ebx + 4]
test ah, 0x40
je 0x50fe22
push 0
push edi
push esi
mov ecx, 0x8d68e0
call fcn.004602f0
jmp 0x510014
lea eax, [esp + 0xb8]
push eax
lea esi, [esp + 0xa8]
call fcn.0042b010
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x34]
mov eax, dword [esp + 0x1c]
mov esi, dword [eax + edx + 4]
mov ecx, edx
movsx edx, word [eax + ecx + 8]
add eax, ecx
add edx, dword [eax + 4]
cmp esi, edx
jge 0x50fe80
mov edi, dword [esp + 0x1c]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x3c]
lea edx, [ecx + esi*4]
push edx
push eax
call fcn.00510d40
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x34]
movsx edx, word [edi + ecx + 8]
lea eax, [edi + ecx]
mov ecx, dword [eax + 4]
inc esi
add edx, ecx
cmp esi, edx
jl 0x50fe58
mov eax, dword [esp + 0xd4]
test eax, eax
mov eax, dword [ebx + 0x70]
jne 0x50feb8
test ah, 6
je 0x50fe9a
mov ecx, ebx
call fcn.005042d0
lea esi, [ebx + 0x50]
mov ecx, 8
lea edi, [esp + 0x70]
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0xd4], 1
jmp 0x510014
mov esi, 0x600
test esi, eax
je 0x50fec8
mov ecx, ebx
call fcn.005042d0
movss xmm0, dword [ebx + 0x50]
comiss xmm0, dword [esp + 0x70]
ja 0x50feda
movss dword [esp + 0x70], xmm0
movss xmm0, dword [ebx + 0x54]
comiss xmm0, dword [esp + 0x74]
ja 0x50feec
movss dword [esp + 0x74], xmm0
movss xmm0, dword [ebx + 0x58]
comiss xmm0, dword [esp + 0x78]
ja 0x50fefe
movss dword [esp + 0x78], xmm0
movss xmm1, dword [ebx + 0x50]
movss xmm0, dword [esp + 0x80]
comiss xmm0, xmm1
ja 0x50ff14
movaps xmm0, xmm1
movss xmm1, dword [esp + 0x84]
movaps xmm3, xmm0
movss xmm0, dword [ebx + 0x54]
comiss xmm1, xmm0
movss dword [esp + 0x80], xmm3
movaps xmm0, xmm1
ja 0x50ff3b
movss xmm0, dword [ebx + 0x54]
movss xmm1, dword [esp + 0x88]
movaps xmm2, xmm0
movss xmm0, dword [ebx + 0x58]
comiss xmm1, xmm0
movss dword [esp + 0x84], xmm2
ja 0x50ff5d
movaps xmm1, xmm0
test dword [ebx + 0x70], esi
movss dword [esp + 0x88], xmm1
je 0x50ff8d
mov ecx, ebx
call fcn.005042d0
movss xmm1, dword [esp + 0x88]
movss xmm2, dword [esp + 0x84]
movss xmm3, dword [esp + 0x80]
movss xmm0, dword [ebx + 0x60]
comiss xmm0, dword [esp + 0x70]
ja 0x50ff9f
movss dword [esp + 0x70], xmm0
movss xmm0, dword [ebx + 0x64]
comiss xmm0, dword [esp + 0x74]
ja 0x50ffb1
movss dword [esp + 0x74], xmm0
movss xmm0, dword [ebx + 0x68]
comiss xmm0, dword [esp + 0x78]
ja 0x50ffc3
movss dword [esp + 0x78], xmm0
movss xmm0, dword [ebx + 0x60]
comiss xmm3, xmm0
movaps xmm0, xmm3
ja 0x50ffd5
movss xmm0, dword [ebx + 0x60]
movss dword [esp + 0x80], xmm0
movss xmm0, dword [ebx + 0x64]
comiss xmm2, xmm0
movaps xmm0, xmm2
ja 0x50fff0
movss xmm0, dword [ebx + 0x64]
movss dword [esp + 0x84], xmm0
movss xmm0, dword [ebx + 0x68]
comiss xmm1, xmm0
movaps xmm0, xmm1
ja 0x51000b
movss xmm0, dword [ebx + 0x68]
movss dword [esp + 0x88], xmm0
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x2c]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
add eax, edx
movsx edx, word [eax + 0x18]
movsx eax, word [eax + 0x16]
inc ecx
add edi, 0xc
add edx, eax
cmp ecx, edx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], edi
jl 0x50fd30
mov ecx, dword [ebp + 8]
mov edi, dword [esp + 0x14]
movss xmm3, dword [0x738a1c]
movss xmm0, dword [esp + 0x80]
addss xmm0, dword [esp + 0x70]
movss xmm1, dword [esp + 0x84]
addss xmm1, dword [esp + 0x74]
movss xmm2, dword [esp + 0x88]
addss xmm2, dword [esp + 0x78]
xorps xmm4, xmm4
mov eax, dword [ecx + 0x2c]
movss xmm5, dword [eax + edi]
mov ecx, dword [ebp + 0xc]
movss dword [esp + 0xd0], xmm0
mulss xmm0, xmm3
movss dword [esp + 0xa0], xmm1
mulss xmm1, xmm3
movss dword [esp + 0x9c], xmm2
mulss xmm2, xmm3
movaps xmm3, xmm4
subss xmm3, xmm0
add eax, edi
movaps xmm0, xmm4
subss xmm0, xmm1
movss xmm1, dword [ecx + 4]
movss dword [esp + 0xc4], xmm0
movaps xmm0, xmm4
movss xmm4, dword [eax + 4]
subss xmm0, xmm2
movss xmm2, dword [ecx]
movss dword [esp + 0xc0], xmm3
movss xmm3, dword [eax + 8]
mov eax, dword [esp + 0xa8]
test eax, eax
movss dword [esp + 0xc8], xmm0
movss xmm0, dword [ecx + 8]
subss xmm2, xmm5
subss xmm1, xmm4
subss xmm0, xmm3
movss dword [esp + 0xe0], xmm2
movss dword [esp + 0xe4], xmm1
movss dword [esp + 0xe8], xmm0
jle 0x510622
mov esi, dword [esp + 0xa4]
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], eax
jmp 0x510150
mov ecx, dword [esi + 4]
mov eax, dword [esi]
mov dword [esp + 0xd8], ecx
xor ecx, ecx
cmp eax, 0xffffffff
jne 0x51017f
test ecx, ecx
jne 0x51017f
mov edx, dword [esi + 4]
mov ecx, dword [0x916514]
push edx
push eax
call fcn.00467180
mov ebx, dword [0x916514]
jmp 0x5101af
mov ecx, dword [esi + 4]
mov edx, dword [esi]
push ecx
push edx
mov eax, 0x8d68e0
call fcn.0043b2d0
cmp eax, 0xffffffff
je 0x510601
mov ecx, dword [0x8d68e8]
lea eax, [eax + eax*2]
mov eax, dword [ecx + eax*8 + 8]
shl eax, 5
mov ebx, dword [eax + 0x8d725c]
test ebx, ebx
je 0x510601
xorps xmm4, xmm4
lea esi, [ebx + 0x10]
mov ecx, 0x10
lea edi, [esp + 0x20]
rep movsd dword es:[edi], dword [esi]
movss xmm0, dword [esp + 0x2c]
movss xmm1, dword [esp + 0x5c]
movss xmm2, dword [esp + 0x4c]
movss xmm3, dword [esp + 0x3c]
ucomiss xmm0, xmm4
lahf
test ah, 0x44
jp 0x51024c
ucomiss xmm3, xmm4
lahf
test ah, 0x44
jp 0x51024c
ucomiss xmm2, xmm4
lahf
test ah, 0x44
jp 0x51024c
ucomiss xmm1, dword [0x7389bc]
lahf
test ah, 0x44
jp 0x51024c
movss xmm0, dword [esp + 0x50]
addss xmm0, dword [esp + 0xc0]
movss dword [esp + 0x50], xmm0
movss xmm0, dword [esp + 0x54]
addss xmm0, dword [esp + 0xc4]
movss dword [esp + 0x54], xmm0
movss xmm0, dword [esp + 0x58]
addss xmm0, dword [esp + 0xc8]
movss dword [esp + 0x58], xmm0
jmp 0x51033f
movss xmm4, dword [esp + 0xc0]
movaps xmm5, xmm0
mulss xmm5, xmm4
addss xmm5, dword [esp + 0x20]
movss dword [esp + 0x20], xmm5
movaps xmm5, xmm3
mulss xmm5, xmm4
addss xmm5, dword [esp + 0x30]
movss dword [esp + 0x30], xmm5
movaps xmm5, xmm2
mulss xmm5, xmm4
addss xmm5, dword [esp + 0x40]
movss dword [esp + 0x40], xmm5
movaps xmm5, xmm1
mulss xmm5, xmm4
addss xmm5, dword [esp + 0x50]
movss xmm4, dword [esp + 0xc4]
movss dword [esp + 0x50], xmm5
movaps xmm5, xmm0
mulss xmm5, xmm4
addss xmm5, dword [esp + 0x24]
movss dword [esp + 0x24], xmm5
movaps xmm5, xmm3
mulss xmm5, xmm4
addss xmm5, dword [esp + 0x34]
movss dword [esp + 0x34], xmm5
movaps xmm5, xmm2
mulss xmm5, xmm4
addss xmm5, dword [esp + 0x44]
movss dword [esp + 0x44], xmm5
movaps xmm5, xmm1
mulss xmm5, xmm4
movss xmm4, dword [esp + 0xc8]
addss xmm5, dword [esp + 0x54]
mulss xmm0, xmm4
addss xmm0, dword [esp + 0x28]
mulss xmm3, xmm4
addss xmm3, dword [esp + 0x38]
mulss xmm2, xmm4
addss xmm2, dword [esp + 0x48]
mulss xmm1, xmm4
addss xmm1, dword [esp + 0x58]
movss dword [esp + 0x54], xmm5
movss dword [esp + 0x28], xmm0
movss dword [esp + 0x38], xmm3
movss dword [esp + 0x48], xmm2
movss dword [esp + 0x58], xmm1
mov edx, dword [ebp + 0x10]
push edx
lea ecx, [esp + 0xf4]
call fcn.00404450
xorps xmm2, xmm2
movss xmm0, dword [0x7389bc]
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x144]
push ecx
lea edx, [esp + 0xf8]
movss dword [esp + 0x104], xmm2
movss dword [esp + 0x114], xmm2
movss dword [esp + 0x124], xmm2
movss dword [esp + 0x134], xmm0
movss dword [esp + 0x130], xmm2
movss dword [esp + 0x12c], xmm2
movss dword [esp + 0x128], xmm2
call fcn.0062a240
movss xmm4, dword [0x738a1c]
movss xmm3, dword [esp + 0xd8]
movss xmm0, dword [esp + 0xa8]
movss xmm1, dword [esp + 0xa4]
mov esi, eax
mov ecx, 0x10
lea edi, [esp + 0x28]
rep movsd dword es:[edi], dword [esi]
movss xmm5, dword [esp + 0x64]
movss xmm6, dword [esp + 0x54]
movss xmm7, dword [esp + 0x44]
add esp, 8
mulss xmm3, xmm4
mulss xmm0, xmm4
mulss xmm1, xmm4
movss xmm4, dword [esp + 0x2c]
ucomiss xmm4, xmm2
lahf
test ah, 0x44
jp 0x510452
ucomiss xmm7, xmm2
lahf
test ah, 0x44
jp 0x510452
ucomiss xmm6, xmm2
lahf
test ah, 0x44
jp 0x510452
ucomiss xmm5, dword [0x7389bc]
lahf
test ah, 0x44
jp 0x510452
movss xmm2, dword [esp + 0x50]
addss xmm0, dword [esp + 0x54]
addss xmm2, xmm3
movss dword [esp + 0x50], xmm2
movss dword [esp + 0x54], xmm0
jmp 0x510524
movaps xmm2, xmm4
mulss xmm2, xmm3
addss xmm2, dword [esp + 0x20]
movss dword [esp + 0x20], xmm2
movaps xmm2, xmm7
mulss xmm2, xmm3
addss xmm2, dword [esp + 0x30]
movss dword [esp + 0x30], xmm2
movaps xmm2, xmm6
mulss xmm2, xmm3
addss xmm2, dword [esp + 0x40]
movss dword [esp + 0x40], xmm2
movaps xmm2, xmm5
mulss xmm2, xmm3
addss xmm2, dword [esp + 0x50]
movss dword [esp + 0x50], xmm2
movaps xmm2, xmm0
mulss xmm2, xmm4
addss xmm2, dword [esp + 0x24]
movss dword [esp + 0x24], xmm2
movaps xmm2, xmm0
mulss xmm2, xmm7
addss xmm2, dword [esp + 0x34]
movss dword [esp + 0x34], xmm2
movaps xmm2, xmm0
mulss xmm0, xmm5
addss xmm0, dword [esp + 0x54]
movss dword [esp + 0x54], xmm0
movaps xmm0, xmm1
mulss xmm0, xmm4
addss xmm0, dword [esp + 0x28]
movss dword [esp + 0x28], xmm0
movaps xmm0, xmm1
mulss xmm0, xmm7
addss xmm0, dword [esp + 0x38]
movss dword [esp + 0x38], xmm0
movaps xmm0, xmm1
mulss xmm2, xmm6
addss xmm2, dword [esp + 0x44]
mulss xmm0, xmm6
addss xmm0, dword [esp + 0x48]
movss dword [esp + 0x44], xmm2
movss dword [esp + 0x48], xmm0
mulss xmm1, xmm5
addss xmm1, dword [esp + 0x58]
mov edx, dword [ebx]
lea eax, [esp + 0x20]
push eax
mov ecx, ebx
movss dword [esp + 0x5c], xmm1
call dword [edx + 0x28]
mov edx, dword [ebx]
lea eax, [esp + 0xe0]
push eax
mov ecx, ebx
call dword [edx + 0x24]
mov edx, dword [ebp + 0x14]
xor eax, eax
mov ax, word [ebx + 0x76]
mov edi, eax
and edi, 0xff00
or edi, edx
cmp di, ax
je 0x5105a7
xor ecx, ecx
mov cx, word [ebx + 0x74]
mov esi, 0x8d68e0
push ecx
call fcn.0045fa20
test byte [ebx + 4], 8
je 0x510586
xor edx, edx
mov dx, word [ebx + 0x74]
push edx
call fcn.0045fb30
mov word [ebx + 0x76], di
mov di, word [ebx + 0x74]
mov edx, 0x8d68e0
call fcn.0045f8c0
test byte [ebx + 4], 8
je 0x5105a7
mov di, word [ebx + 0x74]
call fcn.0045f970
mov ax, word [ebx + 0x76]
movzx cx, al
mov ch, byte [ebp + 0x18]
mov edi, ecx
cmp di, ax
je 0x5105fd
xor edx, edx
mov dx, word [ebx + 0x74]
mov esi, 0x8d68e0
push edx
call fcn.0045fa20
test byte [ebx + 4], 8
je 0x5105dc
xor eax, eax
mov ax, word [ebx + 0x74]
push eax
call fcn.0045fb30
mov word [ebx + 0x76], di
mov di, word [ebx + 0x74]
mov edx, 0x8d68e0
call fcn.0045f8c0
test byte [ebx + 4], 8
je 0x5105fd
mov di, word [ebx + 0x74]
call fcn.0045f970
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
add esi, 8
dec eax
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], eax
jne 0x510150
mov eax, dword [esp + 0xa8]
test eax, eax
jg 0x510665
mov dword [esp + 0x18c], 0xffffffff
cmp dword [esp + 0xb0], 2
je 0x510647
mov ecx, dword [esp + 0xa4]
push ecx
call fcn.00685b4c
add esp, 4
mov esi, dword [ebp + 8]
xor ebx, ebx
mov eax, dword [esp + 0x6c]
mov ecx, dword [esi + 0x28]
inc eax
cmp eax, ecx
mov dword [esp + 0x6c], eax
jl 0x50fc73
jmp 0x50fc5a
mov dword [esp + 0x18c], 0xffffffff
cmp dword [esp + 0xb0], 2
je 0x51068a
mov edx, dword [esp + 0xa4]
push edx
call fcn.00685b4c
add esp, 4
mov ecx, dword [esp + 0x184]
pop edi
pop esi
mov eax, 1
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0x1c