Function at 0x780874
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
push edi
push esi
push ebp
push ebx
sub esp, 0x5c
mov esi, ecx
mov ebp, edx
mov ebx, eax
mov edi, dword [0xa9bc88]
fld dword [0x979900]
fld dword [0x9798fc]
fxch st(1)
fstp dword [esp + 0x48]
mov dword [0xa9bc84], 0
mov dword [esp + 0x3c], edi
mov edi, dword [ebx]
mov dword [0xaab4c0], edi
fadd dword [ebx + 4]
fstp dword [0xaab4c4]
mov edi, dword [ebx + 8]
mov dword [0xaab4c8], edi
lea edi, [esp + 0x50]
push edi
push 0xaab4c0
push ebx
call fcn.007a8c4c
add esp, 0xc
fld dword [ebx]
mov edi, dword [ebx]
fld dword [ebx + 4]
fld dword [ebx + 8]
mov eax, dword [esi]
test eax, eax
mov dword [esp + 0x40], edi
mov edi, dword [ebx + 8]
je 0x780d19
fld dword [0x9798fc]
fld dword [0x9798f8]
fld dword [0x9798f4]
fxch st(4)
fstp dword [esp + 0x1c]
mov ebx, ebp
mov dword [esp + 0x10], edi
and ebx, 0x10
mov dword [esp + 8], ebx
mov ecx, ebp
and ecx, 4
mov dword [esp + 0xc], ecx
mov edx, ebp
and edx, 2
mov dword [esp + 0x4c], edx
mov edx, ebp
and edx, 8
mov dword [esp + 0x44], edx
mov edx, ebp
and edx, 0xffffffe1
mov dword [esp + 4], edx
fstp st(3)
fstp st(2)
fstp st(1)
mov eax, dword [eax]
mov edi, dword [eax + 8]
mov ebx, dword [eax + 0xc]
mov eax, dword [eax + 4]
xor ecx, ecx
test edi, edi
jle 0x780cf7
mov dword [esp + 0x24], eax
mov dword [esp + 0x38], edi
mov dword [esp], esi
movzx edi, word [ebx + 6]
test edi, ebp
je 0x780ce2
fld dword [ebx + 0x20]
fmul st(0)
fld dword [ebx + 0x14]
fsub st(3)
fmul st(0)
fld dword [ebx + 0x1c]
fsub st(3)
fmul st(0)
faddp st(1)
fcompp
fnstsw ax
sahf
ja 0x780ce2
fld dword [ebx + 0xc]
fcom dword [0x9798f8]
fnstsw ax
mov esi, dword [ebx + 0xc]
mov dword [esp + 0x34], esi
sahf
jae 0x7809a6
fstp st(0)
jmp 0x780ce2
movzx eax, word [ebx]
add eax, eax
add eax, eax
lea esi, [eax + eax]
add esi, eax
movzx eax, word [ebx + 2]
mov dword [esp + 0x30], esi
add eax, eax
add eax, eax
lea edx, [eax + eax]
add edx, eax
movzx eax, word [ebx + 4]
mov dword [esp + 0x14], edx
add eax, eax
add eax, eax
lea edx, [eax + eax]
add edx, eax
mov eax, dword [esp + 0x24]
fld dword [esi + eax + 4]
fcom dword [esp + 0x1c]
fnstsw ax
mov dword [esp + 0x18], edx
sahf
jbe 0x780a18
fld dword [esp + 0x1c]
mov edx, dword [esp + 0x24]
mov esi, dword [esp + 0x14]
fcomp dword [esi + edx + 4]
fnstsw ax
sahf
jae 0x780a18
fld dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
fcomp dword [esi + edx + 4]
fnstsw ax
sahf
jae 0x780a18
fstp st(0)
fstp st(0)
jmp 0x780ce2
mov edx, dword [esp + 0x24]
mov esi, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
fld dword [esi + edx]
fsub st(4)
fld dword [esi + edx + 8]
fld dword [eax + edx]
fld dword [eax + edx + 8]
fxch st(3)
fst dword [esp + 0x2c]
fxch st(2)
fsub st(6)
fst dword [esp + 0x28]
fxch st(1)
fsub st(7)
fxch st(3)
fsub st(6)
fxch st(1)
fmul st(3)
fxch st(1)
fmul st(2), st(0)
fxch st(2)
fsubp st(1)
fcomp dword [0x9798f4]
fnstsw ax
sahf
jb 0x780d21
mov eax, edx
mov esi, dword [esp + 0x18]
fld dword [esi + eax]
fsub st(6)
fld dword [esi + eax + 8]
fxch st(1)
fmul st(2), st(0)
fstp dword [esp + 0x20]
fsub st(5)
fxch st(2)
fchs
fmul st(2)
faddp st(1)
fcomp dword [0x9798f4]
fnstsw ax
sahf
jb 0x780d2b
fmul dword [esp + 0x2c]
fld dword [esp + 0x28]
fld dword [esp + 0x20]
fxch st(1)
fchs
fmulp st(1)
faddp st(1)
fcomp dword [0x9798f4]
fnstsw ax
sahf
jae 0x780abd
fstp st(0)
fstp st(0)
jmp 0x780ce2
fsub dword [esp + 0x1c]
fmul st(1)
fld dword [0x9798fc]
fmulp st(2)
mov eax, dword [ebx + 8]
mov esi, dword [ebx + 0x10]
fld dword [esp + 0x2c]
fmul dword [ebx + 8]
fld dword [esp + 0x28]
fmul dword [ebx + 0x10]
fxch st(1)
faddp st(2)
faddp st(1)
mov dword [esp + 0x14], eax
mov eax, dword [esp + 8]
mov dword [esp + 0x18], esi
fchs
fdivrp st(1)
test eax, eax
fchs
je 0x780b53
test edi, 0x10
je 0x780b53
mov esi, dword [0xa9bc84]
mov edi, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
fld dword [0x9798fc]
fmul st(1)
fadd dword [esp + 0x1c]
or esi, 0x10
mov dword [0xa9bc84], esi
mov esi, dword [esp + 0x10]
fstp dword [eax + 0x20]
mov dword [eax + 0x1c], edi
mov dword [eax + 0x24], esi
mov esi, dword [esp + 0x14]
mov dword [eax + 0x28], esi
mov esi, dword [esp + 0x34]
mov dword [eax + 0x2c], esi
mov esi, dword [esp + 0x18]
mov dword [eax + 0x30], esi
movzx esi, word [ebx + 6]
mov dword [eax + 0x34], esi
movzx edi, word [ebx + 6]
mov eax, dword [esp + 0xc]
test eax, eax
je 0x780bb3
test edi, 4
je 0x780bb3
mov esi, dword [0xa9bc84]
mov edi, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
fld dword [0x9798fc]
fmul st(1)
fadd dword [esp + 0x1c]
or esi, 4
mov dword [0xa9bc84], esi
mov esi, dword [esp + 0x10]
fstp dword [eax + 0x3c]
mov dword [eax + 0x38], edi
mov dword [eax + 0x40], esi
mov esi, dword [esp + 0x14]
mov dword [eax + 0x44], esi
mov esi, dword [esp + 0x34]
mov dword [eax + 0x48], esi
mov esi, dword [esp + 0x18]
mov dword [eax + 0x4c], esi
movzx esi, word [ebx + 6]
mov dword [eax + 0x50], esi
movzx edi, word [ebx + 6]
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x780c13
test edi, 2
je 0x780c13
mov esi, dword [0xa9bc84]
mov edi, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
fld dword [0x9798fc]
fmul st(1)
fadd dword [esp + 0x1c]
or esi, 2
mov dword [0xa9bc84], esi
mov esi, dword [esp + 0x10]
fstp dword [eax + 0x58]
mov dword [eax + 0x54], edi
mov dword [eax + 0x5c], esi
mov esi, dword [esp + 0x14]
mov dword [eax + 0x60], esi
mov esi, dword [esp + 0x34]
mov dword [eax + 0x64], esi
mov esi, dword [esp + 0x18]
mov dword [eax + 0x68], esi
movzx esi, word [ebx + 6]
mov dword [eax + 0x6c], esi
movzx edi, word [ebx + 6]
mov eax, dword [esp + 0x44]
test eax, eax
je 0x780c7c
test edi, 8
je 0x780c7c
mov esi, dword [0xa9bc84]
mov edi, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
fld dword [0x9798fc]
fmul st(1)
fadd dword [esp + 0x1c]
or esi, 8
mov dword [0xa9bc84], esi
mov esi, dword [esp + 0x10]
fstp dword [eax + 0x74]
mov dword [eax + 0x70], edi
mov dword [eax + 0x78], esi
mov esi, dword [esp + 0x14]
mov dword [eax + 0x7c], esi
mov esi, dword [esp + 0x34]
mov dword [eax + 0x80], esi
mov esi, dword [esp + 0x18]
mov dword [eax + 0x84], esi
movzx esi, word [ebx + 6]
mov dword [eax + 0x88], esi
movzx edi, word [ebx + 6]
mov eax, dword [esp + 4]
test eax, edi
je 0x780d33
fcom dword [esp + 0x48]
fnstsw ax
sahf
jae 0x780d37
mov esi, dword [0xa9bc84]
mov edi, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
fst dword [esp + 0x48]
fmul dword [0x9798fc]
fadd dword [esp + 0x1c]
or esi, 1
mov dword [0xa9bc84], esi
mov esi, dword [esp + 0x10]
fstp dword [eax + 4]
mov dword [eax], edi
mov dword [eax + 8], esi
mov esi, dword [esp + 0x14]
mov dword [eax + 0xc], esi
mov esi, dword [esp + 0x34]
mov dword [eax + 0x10], esi
mov esi, dword [esp + 0x18]
mov dword [eax + 0x14], esi
movzx esi, word [ebx + 6]
mov dword [eax + 0x18], esi
mov eax, dword [esp + 0x38]
add ebx, 0x24
add ecx, 1
cmp ecx, eax
jl 0x78095e
mov esi, dword [esp]
mov eax, dword [esi + 4]
add esi, 4
test eax, eax
jne 0x78093e
fstp st(0)
fstp st(0)
mov eax, dword [0xa9bc84]
and eax, 1
add esp, 0x5c
pop ebx
pop ebp
pop esi
pop edi
ret
fstp st(0)
fstp st(1)
fstp st(0)
jmp 0x780d09
fstp st(2)
fstp st(2)
fstp st(1)
fstp st(0)
jmp 0x780ce2
fstp st(1)
fstp st(1)
fstp st(0)
jmp 0x780ce2
fstp st(0)
jmp 0x780ce2
fstp st(0)
jmp 0x780ce2