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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x19c
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
movzx eax, word [edi + 0x1a]
mov esi, ecx
push eax
mov ecx, 0xa18e80
call fcn.004e0320
mov dword [esi + 0x54], eax
mov cl, byte [edi + 0x18]
mov byte [esi + 0x58], cl
mov ecx, dword [edi]
mov edx, dword [edi + 8]
fld dword [ecx + 0xc]
mov ebx, dword [edi + 0x10]
fsub dword [edx + 0xc]
fstp dword [esi + 0x30]
fld dword [edx]
fsub dword [ecx]
fst dword [esi + 0x34]
fmul dword [ecx + 0xc]
fld dword [ecx]
fmul dword [esi + 0x30]
faddp st(1)
fst dword [esi + 0x38]
fld dword [ebx + 0xc]
fmul dword [esi + 0x34]
fld dword [esi + 0x30]
fmul dword [ebx]
faddp st(1)
fcompp
fnstsw ax
test ah, 5
jp 0x44ca8f
fld dword [esi + 0x30]
fchs
fstp dword [esi + 0x30]
fld dword [esi + 0x34]
fchs
fstp dword [esi + 0x34]
fld dword [esi + 0x38]
fchs
fstp dword [esi + 0x38]
fld dword [esi + 0x34]
fld dword [esi + 0x30]
fmul st(0), st(0)
fld st(1)
fmulp st(2)
faddp st(1)
fld dword [edx + 0xc]
fsub dword [ebx + 0xc]
fstp dword [esi + 0x3c]
fld dword [ebx]
fsub dword [edx]
fst dword [esi + 0x40]
fmul dword [edx + 0xc]
fld dword [edx]
fmul dword [esi + 0x3c]
faddp st(1)
fst dword [esi + 0x44]
fld dword [ecx + 0xc]
fmul dword [esi + 0x40]
fld dword [esi + 0x3c]
fmul dword [ecx]
faddp st(1)
fcompp
fnstsw ax
test ah, 5
jp 0x44cae8
fld dword [esi + 0x3c]
fchs
fstp dword [esi + 0x3c]
fld dword [esi + 0x40]
fchs
fstp dword [esi + 0x40]
fld dword [esi + 0x44]
fchs
fstp dword [esi + 0x44]
fld dword [esi + 0x40]
fld dword [esi + 0x3c]
fld st(1)
fmulp st(2)
fmul st(0), st(0)
faddp st(1)
fld dword [ebx + 0xc]
fsub dword [ecx + 0xc]
fstp dword [esi + 0x48]
fld dword [ecx]
fsub dword [ebx]
fst dword [esi + 0x4c]
fmul dword [ebx + 0xc]
fld dword [ebx]
fmul dword [esi + 0x48]
faddp st(1)
fst dword [esi + 0x50]
fld dword [edx + 0xc]
fmul dword [esi + 0x4c]
fld dword [esi + 0x48]
fmul dword [edx]
faddp st(1)
fcompp
fnstsw ax
test ah, 5
jp 0x44cb41
fld dword [esi + 0x48]
fchs
fstp dword [esi + 0x48]
fld dword [esi + 0x4c]
fchs
fstp dword [esi + 0x4c]
fld dword [esi + 0x50]
fchs
fstp dword [esi + 0x50]
fld dword [esi + 0x4c]
fld dword [esi + 0x48]
fld st(1)
fmulp st(2)
fmul st(0), st(0)
faddp st(1)
fldz
fcom dword [esi + 0x30]
fnstsw ax
test ah, 0x44
jnp 0x44cb93
fld dword [0x5ad77c]
fdiv dword [esi + 0x30]
fmul dword [esi + 0x3c]
fmul dword [esi + 0x34]
fadd dword [esi + 0x40]
fucompp
fnstsw ax
test ah, 0x44
jp 0x44cbdd
cmp dword [0xa1a2c8], 1
fstp st(1)
fstp st(0)
fstp st(0)
jl 0x44d0cb
push 0x15a
jmp 0x44d0aa
fcom dword [esi + 0x3c]
fnstsw ax
test ah, 0x44
jnp 0x44d094
fld dword [0x5ad77c]
fdiv dword [esi + 0x3c]
fmul dword [esi + 0x30]
fmul dword [esi + 0x40]
fadd dword [esi + 0x34]
fucompp
fnstsw ax
test ah, 0x44
jp 0x44cbdd
cmp dword [0xa1a2c8], 1
fstp st(1)
fstp st(0)
fstp st(0)
jl 0x44d0cb
push 0x164
jmp 0x44d0aa
fxch st(1)
fxch st(2)
fxch st(2)
fcom st(1)
fnstsw ax
test ah, 1
jne 0x44cc1f
fxch st(1)
fcom st(2)
fnstsw ax
test ah, 1
je 0x44cc45
mov ebx, dword [esi + 0x48]
fxch st(1)
mov eax, dword [esi + 0x3c]
fxch st(2)
mov ecx, dword [esi + 0x40]
fxch st(1)
mov edx, dword [esi + 0x44]
mov dword [esi + 0x3c], ebx
mov ebx, dword [esi + 0x4c]
mov dword [esi + 0x40], ebx
mov ebx, dword [esi + 0x50]
mov dword [esi + 0x44], ebx
mov dword [esi + 0x48], eax
mov dword [esi + 0x4c], ecx
mov dword [esi + 0x50], edx
jmp 0x44cbdd
mov ebx, dword [esi + 0x3c]
mov eax, dword [esi + 0x30]
mov ecx, dword [esi + 0x34]
mov edx, dword [esi + 0x38]
mov dword [esi + 0x30], ebx
mov ebx, dword [esi + 0x40]
mov dword [esi + 0x34], ebx
mov ebx, dword [esi + 0x44]
mov dword [esi + 0x38], ebx
mov dword [esi + 0x3c], eax
mov dword [esi + 0x40], ecx
mov dword [esi + 0x44], edx
jmp 0x44cbd9
fstp st(0)
mov eax, dword [edi]
fstp st(1)
lea edx, [esp + 0x28]
fstp st(0)
mov dword [esp + 0x10], edx
fld dword [eax]
lea ecx, [esp + 0x60]
fld qword [eax + 0x10]
lea edx, [esp + 0x98]
fld dword [eax + 0xc]
mov dword [esp + 0x14], ecx
fld st(2)
mov ecx, dword [edi + 8]
fmul st(3)
lea ebx, [esp + 0xd0]
fstp qword [esp + 0x28]
fld st(0)
fmul st(1)
fstp qword [esp + 0x30]
fld st(0)
fmul st(3)
fstp qword [esp + 0x38]
fxch st(2)
fstp qword [esp + 0x40]
fxch st(1)
fstp qword [esp + 0x48]
fld1
fst qword [esp + 0x50]
fxch st(1)
fstp qword [esp + 0x58]
fld dword [ecx]
fld qword [ecx + 0x10]
fld dword [ecx + 0xc]
fld st(2)
mov dword [esp + 0x18], edx
fmul st(3)
mov edx, dword [edi + 0x10]
fstp qword [esp + 0x60]
fld st(0)
fmul st(1)
fstp qword [esp + 0x68]
fld st(0)
fmul st(3)
fstp qword [esp + 0x70]
fxch st(2)
fstp qword [esp + 0x78]
fxch st(1)
fstp qword [esp + 0x80]
fxch st(1)
fst qword [esp + 0x88]
fxch st(1)
fstp qword [esp + 0x90]
fld dword [edx]
fld qword [edx + 0x10]
fld dword [edx + 0xc]
mov dword [esp + 0x1c], ebx
fld st(2)
mov ebx, dword [edi + 4]
fmul st(3)
fstp qword [esp + 0x98]
fld st(0)
fmul st(1)
fstp qword [esp + 0xa0]
fld st(0)
fmul st(3)
fstp qword [esp + 0xa8]
fxch st(2)
fstp qword [esp + 0xb0]
fxch st(1)
fstp qword [esp + 0xb8]
fxch st(1)
fst qword [esp + 0xc0]
fxch st(1)
fstp qword [esp + 0xc8]
fld dword [ecx]
fadd dword [eax]
fld dword [0x5ad750]
fmul st(1), st(0)
fxch st(1)
fst qword [esp + 0x178]
fld qword [ebx + 0x10]
lea ebx, [esp + 0x108]
fld dword [ecx + 0xc]
fadd dword [eax + 0xc]
mov dword [esp + 0x20], ebx
mov ebx, dword [edi + 0xc]
fmul st(3)
fst qword [esp + 0x190]
fld st(2)
fmul st(3)
fstp qword [esp + 0xd0]
fld st(0)
fmul st(1)
fstp qword [esp + 0xd8]
fld st(0)
fmul st(3)
fstp qword [esp + 0xe0]
fxch st(2)
fstp qword [esp + 0xe8]
fxch st(1)
fstp qword [esp + 0xf0]
fxch st(2)
fst qword [esp + 0xf8]
fxch st(2)
fstp qword [esp + 0x100]
fld dword [edx]
fadd dword [ecx]
fmul st(1)
fst qword [esp + 0x180]
fld qword [ebx + 0x10]
fld dword [edx + 0xc]
fadd dword [ecx + 0xc]
lea ecx, [esp + 0x140]
mov dword [esp + 0x24], ecx
mov ecx, dword [edi + 0x14]
fmul st(3)
fst qword [esp + 0x198]
fld st(2)
fmul st(3)
fstp qword [esp + 0x108]
fld st(0)
fmul st(1)
fstp qword [esp + 0x110]
fld st(0)
fmul st(3)
fstp qword [esp + 0x118]
fxch st(2)
fstp qword [esp + 0x120]
fxch st(1)
fstp qword [esp + 0x128]
fxch st(2)
fst qword [esp + 0x130]
fxch st(2)
fstp qword [esp + 0x138]
fld dword [eax]
fadd dword [edx]
fmul st(1)
fst qword [esp + 0x188]
fld qword [ecx + 0x10]
lea ecx, [esp + 0x10]
fld dword [eax + 0xc]
fadd dword [edx + 0xc]
mov edx, 6
fmulp st(3)
fxch st(2)
fst qword [esp + 0x1a0]
fld st(1)
fmul st(2)
fstp qword [esp + 0x140]
fld st(0)
fmul st(1)
fstp qword [esp + 0x148]
fld st(0)
fmul st(2)
fstp qword [esp + 0x150]
fxch st(1)
fstp qword [esp + 0x158]
fstp qword [esp + 0x160]
fxch st(1)
fstp qword [esp + 0x168]
fstp qword [esp + 0x170]
call fcn.00566d30
test eax, eax
mov ebx, 1
je 0x44ced5
cmp dword [0xa1a2c8], ebx
jl 0x44ced5
push 0x1a9
push str...Sourcehtree.cpp
mov ecx, 0xa1a2c8
call fcn.004f3e00
push str.Gaussian_elimination_for_HAT_poly_failed_once
push 0xa1a2c8
call fcn.004f3d30
add esp, 8
fld qword [esp + 0x58]
xor ecx, ecx
fst qword [esi]
fld qword [esp + 0x90]
fst qword [esi + 8]
fld qword [esp + 0xc8]
fst qword [esi + 0x10]
fld qword [esp + 0x100]
fst qword [esi + 0x18]
fld qword [esp + 0x138]
fstp qword [esi + 0x20]
fld qword [esp + 0x170]
fstp qword [esi + 0x28]
mov eax, dword [edi + ecx*8]
fld dword [eax]
fld dword [eax + 0xc]
fld st(0)
fmul st(4)
fld st(2)
fmul st(7)
faddp st(1)
fadd st(3)
fmulp st(2)
fld st(0)
fmul st(5)
fadd qword [esp + 0x138]
fmulp st(1)
faddp st(1)
fadd qword [esp + 0x170]
fsub qword [eax + 0x10]
fabs
fcomp qword [0x5c5bf8]
fnstsw ax
test ah, 0x41
je 0x44cfad
fld qword [esp + ecx*8 + 0x178]
mov edx, dword [edi + ecx*8 + 4]
fld qword [esp + ecx*8 + 0x190]
fld st(0)
fmul st(4)
fld st(2)
fmul st(7)
faddp st(1)
fadd st(3)
fmulp st(2)
fld st(0)
fmul st(5)
fadd qword [esp + 0x138]
fmulp st(1)
faddp st(1)
fadd qword [esp + 0x170]
fsub qword [edx + 0x10]
fabs
fcomp qword [0x5c5bf8]
fnstsw ax
test ah, 0x41
je 0x44cfad
add ecx, ebx
cmp ecx, 3
jl 0x44cf0f
fstp st(3)
fstp st(1)
fstp st(0)
fstp st(0)
jmp 0x44d077
cmp ecx, 3
fstp st(3)
fstp st(1)
fstp st(0)
fstp st(0)
jge 0x44d077
mov eax, dword [edi]
fld dword [eax]
mov edx, 3
fstp qword [esp + 0x28]
lea ecx, [esp + 0x10]
fld dword [eax + 0xc]
fstp qword [esp + 0x30]
fld1
fst qword [esp + 0x38]
fld qword [eax + 0x10]
mov eax, dword [edi + 8]
fstp qword [esp + 0x40]
fld dword [eax]
mov edi, dword [edi + 0x10]
fstp qword [esp + 0x60]
fld dword [eax + 0xc]
fstp qword [esp + 0x68]
fst qword [esp + 0x70]
fld qword [eax + 0x10]
fstp qword [esp + 0x78]
fld dword [edi]
fstp qword [esp + 0x98]
fld dword [edi + 0xc]
fstp qword [esp + 0xa0]
fstp qword [esp + 0xa8]
fld qword [edi + 0x10]
fstp qword [esp + 0xb0]
call fcn.00566d30
test eax, eax
je 0x44d055
cmp dword [0xa1a2c8], ebx
jl 0x44d0cb
push 0x1ce
push str...Sourcehtree.cpp
mov ecx, 0xa1a2c8
call fcn.004f3e00
push str.Gaussian_elimination_for_HAT_poly_failed_twice
jmp 0x44d0be
fldz
fst qword [esi]
fst qword [esi + 8]
fstp qword [esi + 0x10]
fld qword [esp + 0x40]
fstp qword [esi + 0x18]
fld qword [esp + 0x78]
fstp qword [esi + 0x20]
fld qword [esp + 0xb0]
fstp qword [esi + 0x28]
cmp byte [ebp + 0xc], 0
je 0x44d089
fld qword [esi + 0x28]
mov eax, dword [esi + 0x54]
fsub qword [eax + 0x68]
fstp qword [esi + 0x28]
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
cmp dword [0xa1a2c8], 1
fstp st(2)
fstp st(0)
fstp st(0)
fstp st(0)
jl 0x44d0cb
push 0x16a
push str...Sourcehtree.cpp
mov ecx, 0xa1a2c8
call fcn.004f3e00
push 0x5cb000
push 0xa1a2c8
call fcn.004f3d30
add esp, 8
pop edi
pop esi
or eax, 0xffffffff
pop ebx
mov esp, ebp
pop ebp
ret 8