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

Disassembly:
sub esp, 0x9c
push ebx
push ebp
push esi
mov esi, dword [esp + 0xac]
mov eax, esi
and eax, 1
xor ecx, ecx
or eax, ecx
push edi
jne 0x44ae4c
lea eax, [ecx + 2]
xor edx, edx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x9c
ret
fld qword [0x5b43e0]
fcomp qword [esp + 0xb8]
fnstsw ax
test ah, 0x41
jne 0x44ae7f
push str.Sorry0__Lehman_only_implemented_for_Tune_0.1_n
call fcn.004b7f6d
add esp, 4
mov eax, 1
xor edx, edx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x9c
ret
lea eax, [esp + 0x4c]
push eax
call fcn.004565a0
mov ecx, dword [esp + 0xb8]
add esp, 4
push ecx
lea edx, [esp + 0x50]
push edx
call fcn.00456980
lea eax, [esp + 0x54]
push 0x20
push eax
mov ecx, eax
push ecx
call fcn.004570a0
add esp, 0x14
lea edx, [esp + 0x4c]
push esi
push edx
mov eax, edx
push eax
call fcn.00456ad0
add esp, 0xc
lea ecx, [esp + 0x4c]
push 3
push ecx
mov edx, ecx
push edx
call fcn.00459100
mov ecx, dword [esp + 0x5c]
mov eax, dword [esp + 0x60]
mov eax, dword [eax]
add esp, 0xc
neg ecx
sbb ecx, ecx
and ecx, eax
mov dword [esp + 0x44], ecx
fild dword [esp + 0x44]
jns 0x44aef3
fadd qword [0x5b4428]
fadd qword [0x5b43c8]
fld qword [esp + 0xb8]
fnstcw word [esp + 0x16]
movzx eax, word [esp + 0x16]
fmul st(1), st(0)
or eax, 0xc00
fxch st(1)
mov dword [esp + 0x18], eax
fldcw word [esp + 0x18]
fistp qword [esp + 0x38]
mov ebx, dword [esp + 0x38]
mov edx, ebx
mov dword [esp + 0x44], edx
fldcw word [esp + 0x16]
mov dword [esp + 0x48], ebx
fild dword [esp + 0x44]
test edx, edx
jns 0x44af3e
fadd qword [0x5b4428]
fld qword [esp + 0xc0]
fnstcw word [esp + 0x16]
movzx eax, word [esp + 0x16]
fmul st(1)
or eax, 0xc00
mov dword [esp + 0x18], eax
fldcw word [esp + 0x18]
fistp qword [esp + 0x38]
mov ebp, dword [esp + 0x38]
fldcw word [esp + 0x16]
cmp ebp, 0x54
jae 0x44af75
mov ebp, 0x54
jmp 0x44af82
cmp ebp, 0xffff
jbe 0x44af82
mov ebp, 0xffff
movzx edi, word [0x5d0652]
mov dword [esp + 0x18], 1
cmp edi, ebp
jae 0x44afbf
mov eax, dword [esp + 0xb4]
push 0
push edi
push eax
push esi
call fcn.004bdc90
or eax, edx
je 0x44aff9
mov eax, dword [esp + 0x18]
movzx edi, word [eax*2 + 0x5d0652]
inc eax
mov dword [esp + 0x18], eax
cmp edi, ebp
jb 0x44af95
cmp dword [esp + 0xb4], 0x800
jb 0x44b00c
ja 0x44afd6
cmp esi, 0x11e1a2ff
jb 0x44b00c
fstp st(1)
push str.Sorry1__Lehman_only_implemented_for_N_8796393022207_n
fstp st(0)
call fcn.004b7f6d
add esp, 4
mov eax, 1
xor edx, edx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x9c
ret
fstp st(1)
mov eax, edi
fstp st(0)
xor edx, edx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x9c
ret
fld st(1)
mov dword [esp + 0x20], esi
fmul st(2)
xor edx, edx
fnstcw word [esp + 0x16]
xor ebp, ebp
movzx eax, word [esp + 0x16]
fmulp st(2)
or eax, 0xc00
mov dword [esp + 0x1c], eax
mov eax, ebx
fdivrp st(1)
imul eax, ebx
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0xb4]
mov ecx, eax
and eax, 0x7fffffff
mov dword [esp + 0x24], eax
and ecx, 0x80000000
mov dword [esp + 0x5c], edx
fldcw word [esp + 0x1c]
fistp qword [esp + 0x38]
mov edi, dword [esp + 0x38]
mov dword [esp + 0x44], edi
fldcw word [esp + 0x16]
fild qword [esp + 0x20]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], edx
fild qword [esp + 0x20]
fchs
faddp st(1)
call fcn.004bd830
fstp qword [esp + 0x98]
mov eax, 1
mov dword [esp + 0x1c], eax
cmp edi, eax
jae 0x44b108
cmp ebx, 0xffff
jbe 0x44b0ab
mov dword [esp + 0x48], 0xffff
mov ebx, dword [esp + 0x48]
mov edi, dword [esp + 0x18]
movzx ebp, word [edi*2 + 0x5d0650]
lea edi, [edi*2 + 0x5d0650]
cmp ebp, ebx
jae 0x44b0e6
mov edx, dword [esp + 0xb4]
push 0
push ebp
push edx
push esi
call fcn.004bdc90
or eax, edx
je 0x44b4ae
movzx ebp, word [edi + 2]
add edi, 2
cmp ebp, ebx
jb 0x44b0c2
mov eax, esi
mov edx, dword [esp + 0xb4]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x9c
ret
mov eax, dword [esp + 0x1c]
mov ebp, dword [esp + 0x58]
test al, 1
je 0x44b11d
mov edi, 4
lea ebx, [esi + eax]
mov dword [esp + 0x2c], edi
and ebx, 3
jmp 0x44b12e
mov dword [esp + 0x2c], 2
mov edi, dword [esp + 0x2c]
mov ebx, 1
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0xb4]
add ebp, esi
adc eax, ecx
mov dword [esp + 0x58], ebp
mov dword [esp + 0x5c], eax
cmp eax, 0x10000000
ja 0x44b3f7
jb 0x44b15a
test ebp, ebp
jae 0x44b3f7
mov ecx, ebp
mov edx, eax
shld edx, ecx, 2
add ecx, ecx
add ecx, ecx
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x24], edx
cmp ecx, 0x400
jae 0x44b18a
fld qword [ecx*8 + 0x5ce650]
fmul qword [esp + 0x98]
jmp 0x44b1c5
mov ecx, eax
and eax, 0x7fffffff
and ecx, 0x80000000
mov dword [esp + 0x94], eax
mov dword [esp + 0x90], ebp
fild qword [esp + 0x90]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x78], 0
fild qword [esp + 0x78]
fchs
faddp st(1)
call fcn.004bd830
fld st(0)
call fcn.004bd196
push edx
push eax
push edx
push eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], edx
call fcn.004bdf50
cmp eax, ebp
jne 0x44b1eb
cmp edx, dword [esp + 0x5c]
je 0x44b418
fld qword [0x5b43e8]
fmul st(1), st(0)
fld st(1)
fadd qword [0x5b46d0]
call fcn.004bd196
mov esi, eax
xor eax, eax
push eax
push edi
push edx
push esi
call fcn.004bdc90
mov ecx, eax
mov eax, ebx
sub eax, ecx
add eax, edi
xor edx, edx
div edi
xor ebx, ebx
push ebx
lea edi, [esi + edx]
push edi
push ebx
push edi
call fcn.004bdf50
fnstcw word [esp + 0x16]
mov esi, eax
sub esi, dword [esp + 0x20]
mov ebp, edx
sbb ebp, dword [esp + 0x24]
mov edx, dword [esp + 0xa0]
xor eax, eax
mov ecx, eax
and eax, 0x7fffffff
mov dword [esp + 0x8c], eax
and ecx, 0x80000000
mov dword [esp + 0x88], edx
fild qword [esp + 0x88]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x80], ebx
fild qword [esp + 0x80]
movzx eax, word [esp + 0x16]
or eax, 0xc00
mov dword [esp + 0x60], eax
fchs
xor eax, eax
faddp st(1)
mov dword [esp + 0x30], edi
fld st(2)
fmulp st(2)
fdivrp st(1)
faddp st(1)
fldcw word [esp + 0x60]
fistp qword [esp + 0x68]
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x68], ecx
fldcw word [esp + 0x16]
cmp ebx, eax
ja 0x44b3d4
jb 0x44b2c4
cmp edi, ecx
ja 0x44b3d4
jmp 0x44b2c4
mov edi, dword [esp + 0x30]
mov eax, esi
and eax, 0x3ff
cmp byte [eax + 0x5ce250], 0
je 0x44b38d
push 0
push 0xd89
push ebp
push esi
call fcn.004bdc20
imul eax, eax, 0xd89
mov ecx, esi
sub ecx, eax
test byte [ecx + 0x5d3970], 2
je 0x44b38d
push 0
push 0x1067
push ebp
push esi
call fcn.004bdc20
imul eax, eax, 0x1067
mov edx, esi
sub edx, eax
test byte [edx + 0x5d3970], 1
je 0x44b38d
mov eax, ebp
mov ecx, ebp
and eax, 0x7fffffff
and ecx, 0x80000000
mov dword [esp + 0x74], eax
mov dword [esp + 0x70], esi
fild qword [esp + 0x70]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x38], 0
fild qword [esp + 0x38]
fchs
faddp st(1)
fadd qword [0x5b46c8]
call fcn.004bd830
fnstcw word [esp + 0x16]
movzx eax, word [esp + 0x16]
or eax, 0xc00
mov dword [esp + 0x60], eax
xor edx, edx
fldcw word [esp + 0x60]
fistp qword [esp + 0x60]
mov ecx, dword [esp + 0x60]
mov eax, ecx
fldcw word [esp + 0x16]
imul eax, ecx
cmp eax, esi
jne 0x44b38d
cmp edx, ebp
je 0x44b454
mov eax, dword [esp + 0x2c]
mov edx, ebx
shld edx, edi, 1
lea ecx, [edi + edi]
mov edi, 0
push edi
add ecx, eax
push eax
adc edx, edi
push edx
push ecx
call fcn.004bdf50
add esi, eax
mov eax, dword [esp + 0x2c]
adc ebp, edx
add dword [esp + 0x30], eax
adc ebx, edi
xor eax, eax
cmp ebx, eax
jb 0x44b2c0
ja 0x44b3d4
mov ecx, dword [esp + 0x30]
cmp ecx, dword [esp + 0x68]
jbe 0x44b2c0
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0xb0]
inc eax
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x44]
jbe 0x44b100
mov ebx, dword [esp + 0x48]
jmp 0x44b097
push ecx
push esi
push str.Sorry2__overflow__N_I64u_is_too_large_n
call fcn.004b7f6d
add esp, 0xc
mov eax, 1
xor edx, edx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x9c
ret
mov ebx, dword [esp + 0xb4]
fstp st(0)
mov ebp, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov edi, esi
or esi, ebx
je 0x44b447
nop
push ebx
push edi
push edx
push ebp
call fcn.004bdc90
mov ecx, edx
mov ebp, edi
mov edi, eax
or eax, ecx
mov edx, ebx
mov ebx, ecx
jne 0x44b430
mov eax, ebp
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x9c
ret
mov ebp, dword [esp + 0xb4]
mov edx, dword [esp + 0xb0]
xor eax, eax
push ebp
add ecx, edi
push edx
adc eax, ebx
push eax
push ecx
call fcn.0044ef20
mov esi, edx
add esp, 0x10
mov edi, eax
cmp esi, ebp
jb 0x44b49f
ja 0x44b487
cmp edi, dword [esp + 0xb0]
jb 0x44b49f
mov ecx, dword [esp + 0xb0]
push ebp
push ecx
push esi
push edi
push str.theorem_failure:_B2_I64u_N_I64u_n
call fcn.004b7f6d
add esp, 0x14
mov eax, edi
mov edx, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x9c
ret
pop edi
pop esi
mov eax, ebp
pop ebp
xor edx, edx
pop ebx
add esp, 0x9c
ret