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

Disassembly:
sub esp, 0x530
push ebx
mov ebx, ecx
mov eax, dword [ebx + 0x78]
push ebp
mov ebp, dword [eax]
mov byte [ebp + 0x5c], 0
fld dword [ebp + 0x28]
fld dword [ebp + 0x20]
mov edx, dword [0x8a2fc4]
mov ecx, dword [0x8a2fc0]
fld st(0)
mov eax, dword [0x8a2fc8]
fmul st(1)
fld st(2)
push esi
fmul st(3)
mov dword [esp + 0x34], edx
mov dword [esp + 0x30], ecx
mov ecx, dword [0x8a2fcc]
faddp st(1)
push edi
mov dword [esp + 0x20], ebx
fstp dword [esp + 0x1c]
mov dword [esp + 0x3c], eax
mov edx, dword [esp + 0x1c]
fstp st(0)
push edx
mov dword [esp + 0x44], ecx
fstp st(0)
call fcn.005c5e80
fstp dword [esp + 0x58]
lea ecx, [esp + 0x7c]
push ecx
lea eax, [ebp + 0x70]
push eax
lea edx, [ebx + 0xf0]
push edx
call fcn.00401670
mov ecx, dword [ebx + 0x34]
mov eax, dword [ecx]
add esp, 0x10
call dword [eax + 0x4c]
fld dword [ebx + 0xe0]
mov esi, eax
mov ecx, 0xf
lea edi, [esp + 0xc4]
rep movsd dword es:[edi], dword [esi]
lea ecx, [ebx + 0xd0]
mov edx, dword [ecx]
mov eax, dword [ecx + 4]
mov dword [esp + 0x24], edx
mov edx, dword [ecx + 8]
mov dword [esp + 0x28], eax
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], eax
push ecx
fmul dword [ebp + 0x74]
mov dword [esp + 0x18], 0
fld dword [ebx + 0xe4]
fmul dword [ebp + 0x84]
fld dword [ebx + 0xe8]
fmul dword [ebp + 0x94]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fld st(3)
fmul st(4)
faddp st(1)
fstp dword [esp]
fstp st(0)
fstp st(0)
fstp st(0)
call fcn.005c5e80
fstp dword [esp + 0x48]
lea eax, [ebx + 0x110]
fld dword [esp + 0x48]
mov ebx, dword [eax]
fadd dword [ebp + 0x14]
add esp, 4
cmp ebx, eax
lea esi, [esp + 0x240]
fstp dword [esp + 0x58]
je 0x6ba984
mov eax, dword [ebx + 0x44]
mov ecx, eax
shr ecx, 3
not cl
test cl, 1
je 0x6ba971
test al, 4
je 0x6ba971
cmp dword [ebx + 0x24], 1
jne 0x6ba971
mov edx, dword [ebx + 0x48]
lea eax, [esp + 0x84]
push eax
lea ecx, [ebx + 8]
push ecx
mov dword [esp + 0x24], edx
call fcn.005ca910
fld dword [ebx + 0x18]
fld dword [esp + 0x8c]
mov eax, dword [ebx + 0x2c]
fmul st(1)
mov ecx, dword [ebx + 0x30]
mov edx, dword [ebx + 0x28]
mov dword [esp + 0x74], eax
fstp dword [esp + 0x8c]
mov dword [esp + 0xc0], eax
fld dword [esp + 0x90]
lea eax, [esp + 0x208]
fmul st(1)
push eax
lea eax, [ebp + 0x70]
mov dword [esp + 0x7c], ecx
fstp dword [esp + 0x94]
mov dword [esp + 0xc8], ecx
fld dword [esp + 0x98]
mov dword [esp + 0x74], edx
fmul st(1)
mov dword [esp + 0xc0], edx
push eax
lea ecx, [esp + 0x94]
fstp dword [esp + 0x9c]
mov dword [esp + 0x84], 0x3f800000
mov edx, dword [esp + 0x84]
fstp st(0)
push ecx
fld dword [ebx + 0x1c]
mov dword [esp + 0xd4], edx
fld dword [esp + 0xa8]
fmul st(1)
fstp dword [esp + 0xa8]
fld dword [esp + 0xac]
fmul st(1)
fstp dword [esp + 0xac]
fld dword [esp + 0xb0]
fmul st(1)
fstp dword [esp + 0xb0]
fstp st(0)
fld dword [ebx + 0x20]
fld dword [esp + 0xb8]
fmul st(1)
fstp dword [esp + 0xb8]
fld dword [esp + 0xbc]
fmul st(1)
fstp dword [esp + 0xbc]
fld dword [esp + 0xc0]
fmul st(1)
fstp dword [esp + 0xc0]
fstp st(0)
call fcn.005cab00
push 8
lea edx, [esp + 0x118]
push edx
lea eax, [esp + 0x21c]
push eax
push 0x8ad6f8
call fcn.00689d10
add esp, 0x24
xor eax, eax
lea edi, [esi + 0x10]
mov dword [esp + 0x10], eax
jmp 0x6ba7a0
mov eax, dword [esp + 0x10]
mov edi, edi
cmp dword [esp + 0x14], 0x10
jae 0x6ba971
fld dword [ebp + 0x10]
fadd dword [esp + eax + 0x100]
fstp dword [esp + 0x48]
fld dword [esp + eax + 0x104]
fadd dword [ebp + 0x14]
fstp dword [esp + 0x4c]
fld dword [ebp + 0x18]
fadd dword [esp + eax + 0x108]
fstp dword [esp + 0x50]
fld dword [esp + eax + 0x100]
fsub dword [esp + 0x78]
fmul dword [ebp + 0x38]
fadd dword [ebp + 0x24]
fld dword [esp + eax + 0x108]
fsub dword [esp + 0x80]
fmul dword [ebp + 0x30]
fsubp st(1)
fmul dword [esp + 0x544]
fchs
fcom dword [0x890968]
fnstsw ax
test ah, 0x41
je 0x6ba817
fstp st(0)
fld dword [0x890968]
fld dword [esp + 0x54]
fmul dword [esp + 0x544]
faddp st(1)
fadd dword [esp + 0x44]
fld dword [esp + 0x58]
fsub dword [esp + 0x4c]
fstp dword [esp + 0x18]
fcom dword [esp + 0x18]
fnstsw ax
test ah, 5
jnp 0x6ba845
fstp st(0)
fld dword [esp + 0x18]
fld dword [0x8910f0]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x6ba85c
fstp st(0)
fld dword [0x8910f0]
mov ecx, dword [esp + 0x20]
fstp dword [esp + 0xf8]
mov edx, dword [ecx + 0xec]
push 1
push edx
push 1
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x58]
push ecx
lea ecx, [esp + 0xd8]
call fcn.00789cc0
test byte [esp + 0xf4], 1
je 0x6ba95b
fld dword [esp + 0x30]
fcomp dword [0x8aabe0]
fnstsw ax
test ah, 0x41
jnp 0x6ba95b
fld dword [esp + 0x30]
fcomp dword [esp + 0x40]
fnstsw ax
test ah, 0x41
jne 0x6ba8da
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], edx
mov edx, dword [esp + 0x10]
lea eax, [edi + 0x10]
push eax
lea ecx, [esp + 0x88]
push ecx
lea eax, [edx + 0x8ad6f8]
push eax
call fcn.00486610
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + eax + 0x10c]
mov ecx, esi
mov dword [ecx], edx
mov edx, dword [esp + eax + 0x110]
mov dword [ecx + 4], edx
mov edx, dword [esp + eax + 0x114]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x30]
mov ecx, edi
mov dword [ecx], edx
mov edx, dword [esp + 0x34]
mov dword [ecx + 4], edx
mov edx, dword [esp + 0x38]
mov dword [ecx + 8], edx
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x108]
mov dword [edi + 0xc], ecx
mov ecx, dword [esp + 0x28]
mov dword [edi - 4], ecx
mov ecx, dword [esp + 0x20]
mov dword [edi + 0x1c], edx
add esp, 0xc
add esi, 0x30
add edi, 0x30
inc ecx
mov dword [esp + 0x14], ecx
jmp 0x6ba95f
mov eax, dword [esp + 0x10]
add eax, 0x10
cmp eax, 0x80
mov dword [esp + 0x10], eax
jb 0x6ba79a
mov eax, dword [esp + 0x20]
mov ebx, dword [ebx]
add eax, 0x110
cmp ebx, eax
jne 0x6ba638
mov eax, dword [esp + 0x20]
mov edi, dword [eax + 0x120]
add eax, 0x120
cmp edi, eax
mov dword [esp + 0x18], edi
je 0x6babe7
jmp 0x6ba9a5
mov edi, dword [esp + 0x18]
cmp dword [esp + 0x14], 0x10
jae 0x6babe7
mov dl, byte [edi + 0xe]
not dl
test dl, 1
je 0x6babd0
movzx ebx, word [edi + 0xc]
mov eax, dword [edi + 0x10]
mov edx, dword [edi + 8]
push ebx
lea ecx, [esp + 0x104]
mov dword [esp + 0x68], eax
push ecx
lea eax, [ebp + 0x70]
push eax
push edx
mov dword [esp + 0x70], ebx
call fcn.00689d10
add esp, 0x10
test ebx, ebx
mov dword [esp + 0x1c], 0
jle 0x6babd0
xor ebx, ebx
mov dword [esp + 0x10], ebx
lea esp, [esp]
cmp dword [esp + 0x14], 0x10
jae 0x6babd0
fld dword [ebp + 0x10]
mov edi, dword [edi + 8]
fadd dword [esp + ebx + 0x100]
add edi, ebx
fstp dword [esp + 0x48]
fld dword [esp + ebx + 0x104]
fadd dword [ebp + 0x14]
fstp dword [esp + 0x4c]
fld dword [ebp + 0x18]
fadd dword [esp + ebx + 0x108]
fstp dword [esp + 0x50]
fld dword [esp + ebx + 0x100]
fsub dword [esp + 0x78]
fmul dword [ebp + 0x38]
fadd dword [ebp + 0x24]
fld dword [esp + ebx + 0x108]
fsub dword [esp + 0x80]
fmul dword [ebp + 0x30]
fsubp st(1)
fmul dword [esp + 0x544]
fchs
fcom dword [0x890968]
fnstsw ax
test ah, 0x41
je 0x6baa7c
fstp st(0)
fld dword [0x890968]
fld dword [esp + 0x54]
fmul dword [esp + 0x544]
faddp st(1)
fadd dword [esp + 0x44]
fld dword [esp + 0x58]
fsub dword [esp + 0x4c]
fstp dword [esp + 0x5c]
fcom dword [esp + 0x5c]
fnstsw ax
test ah, 5
jnp 0x6baaaa
fstp st(0)
fld dword [esp + 0x5c]
fld dword [0x8910f0]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x6baac1
fstp st(0)
fld dword [0x8910f0]
mov eax, dword [esp + 0x20]
fstp dword [esp + 0xf8]
mov ecx, dword [eax + 0xec]
push 1
push ecx
push 1
lea edx, [esp + 0x30]
push edx
lea eax, [esp + 0x58]
push eax
lea ecx, [esp + 0xd8]
call fcn.00789cc0
test byte [esp + 0xf4], 1
je 0x6babb0
fld dword [esp + 0x30]
fcomp dword [0x8aabe0]
fnstsw ax
test ah, 0x41
jnp 0x6babb0
fld dword [esp + 0x30]
mov ecx, dword [esp + 0x28]
fcomp dword [esp + 0x40]
fnstsw ax
test ah, 0x41
mov eax, dword [esp + 0x2c]
jne 0x6bab3f
mov edx, dword [esp + 0x24]
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], edx
mov ebx, dword [esp + ebx + 0x100]
mov edx, esi
mov dword [edx], ebx
mov ebx, dword [esp + 0x10]
mov ebx, dword [esp + ebx + 0x104]
mov dword [edx + 4], ebx
mov ebx, dword [esp + 0x10]
mov ebx, dword [esp + ebx + 0x108]
mov dword [edx + 8], ebx
mov ebx, dword [esp + 0x24]
lea edx, [esi + 0x10]
mov dword [edx], ebx
mov ebx, dword [esp + 0x10]
mov dword [edx + 4], ecx
mov dword [edx + 8], eax
mov eax, dword [esp + 0x30]
mov dword [esi + 0x1c], eax
mov edx, dword [edi]
lea ecx, [esi + 0x20]
mov dword [ecx], edx
mov eax, dword [edi + 4]
mov dword [ecx + 4], eax
mov edx, dword [edi + 8]
mov eax, dword [esp + 0xfc]
mov dword [ecx + 8], edx
mov ecx, dword [esp + 0x64]
mov dword [esi + 0x2c], eax
mov eax, dword [esp + 0x14]
mov dword [esi + 0xc], ecx
add esi, 0x30
inc eax
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x60]
mov edi, dword [esp + 0x18]
inc eax
add ebx, 0x10
cmp eax, ecx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x10], ebx
jl 0x6baa00
mov eax, dword [esp + 0x20]
mov edi, dword [edi]
add eax, 0x120
cmp edi, eax
mov dword [esp + 0x18], edi
jne 0x6ba9a1
mov ebx, dword [esp + 0x14]
test ebx, ebx
je 0x6bac8f
cmp ebx, 1
mov byte [ebp + 0x5c], bl
jbe 0x6bac36
lea esi, [ebx + ebx*2]
shl esi, 4
lea esi, [esp + esi + 0x240]
lea edx, [esp + 0x240]
mov ecx, esi
sub ecx, edx
mov eax, 0x2aaaaaab
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
lea ecx, [esp + 0x244]
push esi
push ecx
call fcn.006b9260
add esp, 0xc
cmp ebx, 0x10
mov eax, ebx
jb 0x6bac42
mov eax, 0x10
mov ecx, dword [esp + 0x20]
push eax
lea edx, [esp + 0x244]
push edx
call fcn.00697ce0
fld dword [esp + 0x40]
fcomp dword [0x890968]
fnstsw ax
test ah, 0x41
jne 0x6bac8f
fld dword [esp + 0x34]
fmul dword [esp + 0x40]
fadd dword [ebp + 0x10]
fstp dword [ebp + 0x10]
fld dword [esp + 0x38]
fmul dword [esp + 0x40]
fadd dword [ebp + 0x14]
fstp dword [ebp + 0x14]
fld dword [esp + 0x3c]
fmul dword [esp + 0x40]
fadd dword [ebp + 0x18]
fstp dword [ebp + 0x18]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x530
ret 4