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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x254
mov eax, dword [0x721bb0]
mov dword [esp + 0x250], eax
push ebx
push esi
push edi
mov ebx, ecx
mov eax, 0xc3160000
mov edx, eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x7c], edx
mov eax, 0x43160000
mov edx, eax
mov dword [esp + 0x60], eax
mov eax, 1
mov word [esp + 0x22e], ax
mov word [esp + 0x232], ax
mov word [esp + 0x23c], ax
mov eax, 7
mov word [esp + 0x242], ax
mov word [esp + 0x244], ax
mov word [esp + 0x24c], ax
mov dword [esp + 0x68], edx
mov eax, 6
mov word [esp + 0x24e], ax
mov word [esp + 0x250], ax
mov word [esp + 0x258], ax
mov edx, 3
mov word [esp + 0x23a], dx
mov word [esp + 0x23e], dx
mov word [esp + 0x248], dx
mov eax, 0x3f34fdf4
mov edx, eax
mov dword [esp + 0x170], edx
xor ecx, ecx
mov dword [esp + 0x168], eax
mov edx, 0xbf34fdf4
mov dword [esp + 0x174], eax
mov eax, edx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x17c], edx
mov ecx, 0x43c80000
mov edx, 0x3f34fdf4
mov dword [esp + 0x64], ecx
mov ecx, 5
mov dword [esp + 0x188], edx
mov edx, eax
mov dword [esp + 0x180], eax
mov dword [esp + 0x18c], eax
mov eax, 0x3f800000
mov word [esp + 0x236], cx
mov word [esp + 0x238], cx
mov word [esp + 0x240], cx
mov ecx, 2
mov dword [esp + 0x198], eax
mov eax, 0xbf800000
mov dword [esp + 0x194], edx
xor edx, edx
xor edi, edi
mov esi, 4
mov word [esp + 0x246], cx
mov word [esp + 0x24a], cx
mov word [esp + 0x254], cx
xor ecx, ecx
mov dword [esp + 0x1a4], eax
xor eax, eax
mov dword [esp + 0x1a0], edx
mov dword [esp + 0x1ac], edx
mov word [esp + 0x22c], si
mov word [esp + 0x230], di
mov word [esp + 0x234], si
mov word [esp + 0x252], di
mov word [esp + 0x256], di
mov word [esp + 0x25a], si
mov dword [esp + 0x16c], ecx
mov dword [esp + 0x178], ecx
mov dword [esp + 0x184], ecx
mov dword [esp + 0x190], ecx
mov dword [esp + 0x19c], ecx
mov dword [esp + 0x1a8], ecx
mov edx, 0x3f800000
mov dword [esp + 0x1b0], eax
mov dword [esp + 0x1b4], ecx
mov dword [esp + 0x1c0], ecx
mov ecx, dword [ebx + 0xc4]
mov dword [esp + 0x1bc], eax
mov eax, dword [ecx + 0xc4]
imul eax, dword [ecx + 0xc0]
mov dword [esp + 0x1b8], edx
mov edx, 0xbf800000
xor esi, esi
test eax, eax
mov dword [esp + 0x1c4], edx
jle 0x5fae66
mov edx, dword [ecx + 0x200]
add edx, 0x54
jmp 0x5fa5a2
mov edx, dword [esp + 0x10]
fld dword [edx - 8]
fcomp dword [ebx + 0x40]
fnstsw ax
test ah, 0x41
jp 0x5fa5e6
fild dword [0x720a60]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fadd dword [edx - 8]
fcomp dword [ebx + 0x40]
fnstsw ax
test ah, 0x41
jne 0x5fa5e6
fld dword [edx]
fcomp dword [ebx + 0x48]
fnstsw ax
test ah, 0x41
jp 0x5fa5e6
fld dword [esp + 0x2c]
fadd dword [edx]
fcomp dword [ebx + 0x48]
fnstsw ax
test ah, 0x41
je 0x5fa61b
mov eax, dword [ebx + 0xc4]
add edx, 0x1f650
mov dword [esp + 0x10], edx
mov edx, dword [eax + 0xc4]
imul edx, dword [eax + 0xc0]
inc esi
cmp esi, edx
jl 0x5fa59e
mov ecx, dword [esp + 0x25c]
call fcn.00692fc7
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ecx + 0x200]
fld dword [ebx + 0x40]
imul esi, esi, 0x1f650
fsub dword [eax + esi + 0x4c]
fstp dword [esp + 0x30]
fld dword [ebx + 0x48]
fsub dword [eax + esi + 0x54]
add eax, esi
fstp dword [esp + 0x38]
fld dword [esp + 0x30]
mov dword [esp + 0xb8], esi
fdiv dword [0x6ef438]
call fcn.00693530
fld dword [esp + 0x38]
fdiv dword [0x6ef438]
mov dword [esp + 0x10], eax
call fcn.00693530
mov ecx, dword [esp + 0x10]
cmp ecx, 0x40
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xbc], eax
jne 0x5fa68b
or edx, 0xffffffff
mov dword [esp + 0xc0], edx
jmp 0x5fa695
lea edx, [ecx + 1]
mov dword [esp + 0xc0], eax
cmp eax, 0x40
mov dword [esp + 0xac], edx
jne 0x5fa6ad
or edx, 0xffffffff
mov dword [esp + 0xb0], edx
jmp 0x5fa6b7
mov dword [esp + 0xb0], ecx
lea edx, [eax + 1]
cmp ecx, 0x40
mov dword [esp + 0xc4], edx
je 0x5fa6d3
cmp eax, 0x40
je 0x5fa6d3
inc ecx
mov dword [esp + 0xb4], ecx
inc eax
jmp 0x5fa6dd
or eax, 0xffffffff
mov dword [esp + 0xb4], eax
mov dword [esp + 0xc8], eax
xor eax, eax
mov dword [esp + 0x2c], eax
lea ebx, [ebx]
mov edi, dword [esp + eax + 0xa8]
cmp edi, 0xffffffff
lea ecx, [esp + eax + 0xa8]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x20], edi
je 0x5fae56
mov edx, dword [ebx + 0xc4]
lea ecx, [esp + eax + 0xbc]
mov eax, dword [ecx]
mov dword [esp + 0x1c], eax
imul eax, eax, 0x41
add eax, dword [edx + 0x200]
add eax, edi
cmp byte [eax + esi + 0x1e130], 0xff
je 0x5fae52
mov eax, dword [ecx]
mov ecx, dword [esp + 0x10]
mov edi, dword [ecx]
mov edx, dword [edx + 0x200]
mov dword [esp + 0x24], eax
imul eax, eax, 0x41
fild dword [esp + 0x24]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fmul dword [0x6ef438]
fadd dword [edx + esi + 0x54]
lea ecx, [edx + esi]
mov edx, dword [ecx + 0x1f1b4]
mov dword [esp + 0x5c], edi
fstp dword [esp + 0x24]
add eax, edi
mov eax, dword [edx + eax*4]
fild dword [esp + 0x5c]
mov dword [esp + 0x6c], eax
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fmul dword [0x6ef438]
fadd dword [ecx + 0x4c]
fstp dword [esp + 0x1fc]
fld dword [ebx + 0x48]
fsub dword [esp + 0x24]
fstp dword [esp + 0x24]
fld dword [ebx + 0x44]
mov edx, dword [esp + 0x24]
fsub dword [esp + 0x6c]
mov dword [esp + 0xd4], edx
fstp dword [esp + 0x10]
fld dword [ebx + 0x40]
mov ecx, dword [esp + 0x10]
fsub dword [esp + 0x1fc]
mov dword [esp + 0xd0], ecx
lea ecx, [esp + 0xcc]
fstp dword [esp + 0xcc]
call fcn.0043ec40
fcomp dword [0x6d6740]
fnstsw ax
test ah, 5
jp 0x5fa7f6
mov byte [ebx + 0x26], 0
fild dword [esp + 0x1c]
mov eax, dword [ebx + 0xc4]
mov ecx, dword [eax + 0x200]
add ecx, esi
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fmul dword [0x6ef438]
fadd dword [ecx + 0x54]
fstp dword [esp + 0x10]
mov eax, dword [esp + 0x10]
fild dword [esp + 0x20]
mov dword [esp + 0x18], eax
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fmul dword [0x6ef438]
fadd dword [ecx + 0x4c]
fstp dword [esp + 0x10]
fld dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
fadd dword [esp + 0x7c]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x18], eax
fstp dword [esp + 0x14]
fld dword [esp + 0x6c]
fadd dword [esp + 0x78]
fstp dword [esp + 0x10]
fld dword [esp + 0x4c]
mov edx, dword [esp + 0x10]
fadd dword [esp + 0x74]
mov esi, edx
mov dword [esp + 0xdc], esi
mov esi, dword [esp + 0x14]
fstp dword [esp + 0x30]
mov edi, dword [esp + 0x30]
fld dword [esp + 0x18]
mov dword [esp + 0x4c], ecx
fadd dword [esp + 0x7c]
mov dword [esp + 0xe0], esi
mov dword [esp + 0x18], eax
mov esi, edx
fstp dword [esp + 0x14]
mov dword [esp + 0xe8], esi
fld dword [esp + 0x4c]
mov esi, dword [esp + 0x14]
fadd dword [esp + 0x60]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0xd8], edi
mov dword [esp + 0xec], esi
fstp dword [esp + 0x30]
mov edi, dword [esp + 0x30]
fld dword [esp + 0x18]
mov dword [esp + 0x18], eax
fadd dword [esp + 0x68]
mov esi, edx
mov dword [esp + 0xf4], esi
mov dword [esp + 0xe4], edi
fstp dword [esp + 0x14]
mov dword [esp + 0x100], edx
fld dword [esp + 0x4c]
mov esi, dword [esp + 0x14]
fadd dword [esp + 0x74]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0xf8], esi
fstp dword [esp + 0x30]
mov edi, dword [esp + 0x30]
fld dword [esp + 0x18]
mov dword [esp + 0x18], eax
fadd dword [esp + 0x68]
mov dword [esp + 0xf0], edi
fstp dword [esp + 0x14]
fld dword [esp + 0x4c]
mov esi, dword [esp + 0x14]
fadd dword [esp + 0x60]
mov dword [esp + 0x104], esi
mov dword [esp + 0x4c], ecx
fstp dword [esp + 0x30]
mov edi, dword [esp + 0x30]
fld dword [esp + 0x18]
mov dword [esp + 0xfc], edi
fadd dword [esp + 0x7c]
fstp dword [esp + 0x14]
fld dword [esp + 0x6c]
mov dword [esp + 0x18], eax
fadd dword [esp + 0x64]
fstp dword [esp + 0x10]
fld dword [esp + 0x4c]
mov edx, dword [esp + 0x10]
fadd dword [esp + 0x74]
mov esi, edx
mov dword [esp + 0x10c], esi
mov esi, dword [esp + 0x14]
fstp dword [esp + 0x30]
mov edi, dword [esp + 0x30]
fld dword [esp + 0x18]
mov dword [esp + 0x4c], ecx
fadd dword [esp + 0x7c]
mov dword [esp + 0x18], eax
mov dword [esp + 0x110], esi
mov esi, edx
fstp dword [esp + 0x14]
mov dword [esp + 0x118], esi
fld dword [esp + 0x4c]
mov esi, dword [esp + 0x14]
fadd dword [esp + 0x60]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x108], edi
mov dword [esp + 0x11c], esi
fstp dword [esp + 0x30]
mov edi, dword [esp + 0x30]
fld dword [esp + 0x18]
mov dword [esp + 0x18], eax
fadd dword [esp + 0x68]
mov esi, edx
mov dword [esp + 0x124], esi
mov dword [esp + 0x114], edi
fstp dword [esp + 0x14]
mov dword [esp + 0x130], edx
fld dword [esp + 0x4c]
mov esi, dword [esp + 0x14]
fadd dword [esp + 0x74]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x128], esi
mov dword [esp + 0x10], 8
fstp dword [esp + 0x30]
mov edi, dword [esp + 0x30]
fld dword [esp + 0x18]
mov dword [esp + 0x120], edi
fadd dword [esp + 0x68]
fstp dword [esp + 0x14]
fld dword [esp + 0x4c]
mov eax, dword [esp + 0x14]
fadd dword [esp + 0x60]
mov dword [esp + 0x134], eax
lea eax, [esp + 0x22e]
mov dword [esp + 0x70], eax
fstp dword [esp + 0x30]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x12c], ecx
jmp 0x5faa70
mov eax, dword [esp + 0x70]
jmp 0x5faa70
movzx ecx, word [eax - 2]
lea edx, [ecx + ecx*2]
lea ecx, [esp + edx*4 + 0xd8]
mov edx, dword [ecx]
mov dword [esp + 0x80], edx
mov edx, dword [ecx + 4]
mov ecx, dword [ecx + 8]
mov dword [esp + 0x88], ecx
movzx ecx, word [eax]
movzx eax, word [eax + 2]
mov dword [esp + 0x84], edx
lea edx, [ecx + ecx*2]
lea ecx, [esp + edx*4 + 0xd8]
mov edx, dword [ecx]
mov dword [esp + 0x8c], edx
mov edx, dword [ecx + 4]
mov ecx, dword [ecx + 8]
mov dword [esp + 0x90], edx
lea edx, [eax + eax*2]
lea eax, [esp + edx*4 + 0xd8]
mov dword [esp + 0x94], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
lea edi, [esp + 0x16c]
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], edx
mov dword [esp + 0xa0], eax
mov dword [esp + 0x5c], edi
mov dword [esp + 0x24], 8
fld dword [edi + 4]
lea esi, [ebx + 0x40]
fmul dword [ebx + 0x4c]
lea ecx, [esp + 0x58]
push ecx
lea edx, [esp + 0x84]
fstp dword [esp + 0x20]
push edx
fld dword [edi]
sub esp, 0xc
fmul dword [ebx + 0x4c]
mov ecx, esp
sub esp, 0xc
fstp dword [esp + 0x40]
fld dword [edi - 4]
fmul dword [ebx + 0x4c]
fstp dword [esp + 0x204]
fld dword [esp + 0x3c]
fadd dword [esi + 8]
fstp dword [esp + 0x48]
fld dword [esp + 0x40]
fadd dword [esi + 4]
fstp dword [esp + 0x3c]
fld dword [esp + 0x204]
mov eax, dword [esp + 0x3c]
fadd dword [esi]
fstp dword [esp + 0x210]
mov edx, dword [esp + 0x210]
mov dword [ecx], edx
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x48]
mov dword [ecx + 8], eax
mov eax, esi
mov edx, dword [eax]
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [ecx + 4], edx
mov dword [ecx + 8], eax
call fcn.005e63c6
add esp, 0x20
test eax, eax
je 0x5fae1b
fld dword [esp + 0x58]
mov ecx, dword [esp + 0x58]
fmul dword [edi + 4]
mov dword [esp + 0x13c], ecx
fstp dword [esp + 0x1c]
fld dword [esp + 0x58]
fmul dword [edi]
fstp dword [esp + 0x20]
fld dword [esp + 0x58]
fmul dword [edi - 4]
fstp dword [esp + 0x220]
fld dword [esp + 0x1c]
fadd dword [esi + 8]
fstp dword [esp + 0x28]
fld dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
fadd dword [esi + 4]
mov dword [esp + 0x148], ecx
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x15c], ecx
fstp dword [esp + 0x1c]
fld dword [esp + 0x220]
mov eax, dword [esp + 0x1c]
fadd dword [esi]
mov dword [esp + 0x144], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x158], eax
fstp dword [esp + 0x214]
mov edx, dword [esp + 0x214]
fld dword [esp + 0xa0]
mov dword [esp + 0x140], edx
fsub dword [esp + 0x94]
mov edx, dword [esp + 0x88]
mov dword [esp + 0x160], edx
fstp dword [esp + 0x28]
fld dword [esp + 0x9c]
fsub dword [esp + 0x90]
fstp dword [esp + 0x1c]
fld dword [esp + 0x98]
fsub dword [esp + 0x8c]
fstp dword [esp + 0x1d8]
fld dword [esp + 0x94]
fsub dword [esp + 0x88]
fstp dword [esp + 0x20]
fld dword [esp + 0x90]
fsub dword [esp + 0x84]
fstp dword [esp + 0x14]
fld dword [esp + 0x8c]
fsub dword [esp + 0x80]
fstp dword [esp + 0x1cc]
fld dword [esp + 0x1cc]
fmul dword [esp + 0x1c]
fld dword [esp + 0x14]
fmul dword [esp + 0x1d8]
fsubp st(1)
fstp dword [esp + 0x3c]
fld dword [esp + 0x20]
mov ecx, dword [esp + 0x3c]
fmul dword [esp + 0x1d8]
mov dword [esp + 0x48], ecx
fld dword [esp + 0x1cc]
fmul dword [esp + 0x28]
fsubp st(1)
fstp dword [esp + 0xa4]
fld dword [esp + 0x14]
mov eax, dword [esp + 0xa4]
fmul dword [esp + 0x28]
mov dword [esp + 0x44], eax
fld dword [esp + 0x20]
fmul dword [esp + 0x1c]
fsubp st(1)
fstp dword [esp + 0x208]
fld dword [esp + 0x48]
mov edx, dword [esp + 0x208]
fmul dword [esp + 0x48]
mov dword [esp + 0x40], edx
fld dword [esp + 0x44]
fmul dword [esp + 0x44]
faddp st(1)
sub esp, 8
fld dword [esp + 0x48]
fmul dword [esp + 0x48]
faddp st(1)
fstp dword [esp + 0x44]
fld dword [esp + 0x44]
fstp qword [esp]
call fcn.00693b94
fstp dword [esp + 0x44]
add esp, 8
fld dword [esp + 0x3c]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fcomp dword [0x6d1030]
fnstsw ax
test ah, 0x41
jp 0x5fad79
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x5fadb7
fld dword [0x6d4fc8]
fdiv dword [esp + 0x1c]
fstp dword [esp + 0x14]
fld dword [esp + 0x40]
fmul dword [esp + 0x14]
fstp dword [esp + 0x40]
mov edx, dword [esp + 0x40]
fld dword [esp + 0x44]
fmul dword [esp + 0x14]
fstp dword [esp + 0x44]
mov eax, dword [esp + 0x44]
fld dword [esp + 0x48]
fmul dword [esp + 0x14]
fstp dword [esp + 0x48]
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x154], ecx
lea ecx, [ebx + 0x28]
mov dword [esp + 0x14c], edx
mov edx, dword [ecx + 4]
mov dword [esp + 0x150], eax
mov eax, dword [ecx + 8]
cmp edx, eax
mov dword [esp + 0x164], 1
jne 0x5fadf7
test eax, eax
je 0x5fadec
add eax, eax
jmp 0x5fadf1
mov eax, 0x10
push eax
call fcn.005f2a30
mov edi, dword [ebx + 0x2c]
mov ecx, dword [ebx + 0x28]
imul edi, edi, 0x2c
add edi, ecx
mov ecx, 0xb
lea esi, [esp + 0x13c]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebx + 0x2c]
mov edi, dword [esp + 0x5c]
inc eax
mov dword [ebx + 0x2c], eax
mov eax, dword [esp + 0x24]
add edi, 0xc
dec eax
mov dword [esp + 0x5c], edi
mov dword [esp + 0x24], eax
jne 0x5fab03
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x10]
add ecx, 6
dec eax
mov dword [esp + 0x70], ecx
mov dword [esp + 0x10], eax
jne 0x5faa67
mov esi, dword [esp + 0xb8]
mov eax, dword [esp + 0x2c]
add eax, 4
cmp eax, 0x10
mov dword [esp + 0x2c], eax
jl 0x5fa6f0
mov ecx, dword [esp + 0x25c]
call fcn.00692fc7
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret