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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xcc
mov dword [esp + 0x14], ecx
mov edi, edx
mov dword [esp + 4], eax
mov ecx, dword [0xb20588]
fild qword [ecx + 0x3500]
fld qword [ecx + 0x34f8]
fadd st(1), st(0)
fldz
fxch st(2)
fucom st(2)
fnstsw ax
xor edx, edx
sahf
setae dl
fadd qword [edx*8 + 0x96c568]
fnstcw word [esp + 0x12]
movzx eax, word [esp + 0x12]
mov word [esp + 0x12], 0xc7f
fldcw word [esp + 0x12]
mov word [esp + 0x12], ax
fistp qword [esp + 0x90]
fldcw word [esp + 0x12]
mov ebx, dword [esp + 0x90]
cmp edi, 7
mov esi, dword [esp + 0x94]
je 0x44cedb
fstp st(1)
mov eax, ecx
fstp qword [esp + 0x1c]
call fcn.004743a8
fldz
fld qword [esp + 0x1c]
cmp edi, 0x12
ja 0x44cedb
mov eax, 0x57b5f
bt eax, edi
jae 0x44cedb
mov eax, dword [0xb20588]
mov ecx, dword [eax + 0x351c]
mov dword [eax + 0x3518], ecx
mov dword [esp], edi
mov edi, dword [esp + 0xe8]
mov ebp, dword [esp + 0xe4]
mov eax, dword [esp + 4]
cmp byte [eax + 0x2f1935], 0
je 0x44cf07
mov eax, dword [0xb20588]
cmp byte [eax + 0x1778], 0
je 0x44cf5e
mov eax, dword [esp + 4]
cmp byte [eax + 0x2f1810], 0
je 0x44cf6f
mov eax, dword [esp]
or eax, 2
cmp eax, 7
je 0x44cf6f
mov eax, dword [0xb20588]
mov al, byte [eax + 0x3508]
test al, al
jne 0x44cf6f
fstp st(0)
fstp st(0)
mov eax, dword [esp + 4]
mov edx, dword [eax + 0x2f180c]
mov ecx, edx
sar ecx, 0x1f
sub ebp, edx
sbb edi, ecx
sub esp, 8
xor edx, edx
mov ecx, 1
push edi
push ebp
call fcn.00453d78
add esp, 8
jmp 0x44d7fd
mov eax, dword [esp + 4]
cmp dword [eax + 0x2f1968], 0
je 0x44d339
xor ebx, ebp
xor esi, edi
or esi, ebx
mov edx, dword [esp + 4]
jne 0x44cf99
mov eax, dword [0x96eb40]
xor eax, ebp
mov ecx, dword [0x96eb44]
xor ecx, edi
or ecx, eax
jne 0x44cf99
cmp byte [esp + 0x14], 0
je 0x44d803
fstp qword [esp + 0x1c]
mov al, byte [edx + 0x2f17eb]
fld1
test al, al
je 0x44cfc2
fstp st(0)
cmp byte [edx + 0x8f8], 0
fld dword [0x96c578]
fld1
je 0x44cfc0
fstp st(1)
fldz
fstp st(0)
mov ecx, dword [0xb20588]
mov esi, dword [ecx + 0x3500]
mov ebx, dword [ecx + 0x3504]
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x14], esi
mov dword [esp + 0x88], esi
fild qword [esp + 0x88]
fld st(1)
fmul qword [edx + 0x2f1a10]
fadd st(1)
fnstcw word [esp + 0x10]
movzx esi, word [esp + 0x10]
mov word [esp + 0x10], 0xc7f
fldcw word [esp + 0x10]
mov word [esp + 0x10], si
fistp qword [esp + 0x80]
fldcw word [esp + 0x10]
cmp ebp, dword [esp + 0x80]
mov esi, edi
sbb esi, dword [esp + 0x84]
jl 0x44d06c
mov edx, dword [esp + 4]
fxch st(1)
fmul qword [edx + 0x2f1a08]
fadd st(1)
fnstcw word [esp + 0xe]
movzx esi, word [esp + 0xe]
mov word [esp + 0xe], 0xc7f
fldcw word [esp + 0xe]
mov word [esp + 0xe], si
fistp qword [esp + 0x78]
fldcw word [esp + 0xe]
mov esi, dword [esp + 0x7c]
cmp dword [esp + 0x78], ebp
sbb esi, edi
fldz
fxch st(1)
jge 0x44d0cc
fstp st(1)
cmp byte [ecx + 0x3508], 0
mov esi, dword [esp + 4]
jne 0x44d088
cmp byte [ecx + 0x1778], 0
je 0x44d371
fadd qword [ecx + 0x34f8]
fucom st(1)
fstp st(1)
fnstsw ax
xor edx, edx
sahf
setae dl
fadd qword [edx*8 + 0x96c568]
fnstcw word [esp + 0xc]
movzx eax, word [esp + 0xc]
mov word [esp + 0xc], 0xc7f
fldcw word [esp + 0xc]
mov word [esp + 0xc], ax
fistp qword [esp + 0x70]
fldcw word [esp + 0xc]
mov ebp, dword [esp + 0x70]
mov edi, dword [esp + 0x74]
jmp 0x44d0d6
fstp st(0)
fstp st(0)
fstp st(0)
mov esi, dword [esp + 4]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x68], ebp
mov dword [esp + 0x6c], edi
fild qword [esp + 0x68]
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], ebx
fild qword [esp + 0x60]
fsub st(1), st(0)
mov eax, dword [ecx + 0x3490]
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
mov eax, dword [ecx + 0x3370]
mov ecx, dword [ecx + 0x348c]
mov dword [esp + 0x28], ecx
fimul dword [esp + 0x28]
fdiv dword [0x96c57c]
cmp eax, 3
fst qword [esp + 0xc4]
fmul dword [0x96c580]
fldz
je 0x44d134
fstp st(1)
fldz
fstp st(0)
fstp qword [esp + 0x14]
fld qword [esi + 0x2f19f8]
fsub st(1)
fstp qword [esp + 0xac]
fld qword [esi + 0x2f1a00]
fsubrp st(1)
fstp qword [esp + 0xb4]
sub esp, 0x10
fst qword [esp + 0xcc]
fstp qword [esp]
lea edx, [esp + 0xb0]
lea ecx, [esp + 0xa8]
call fcn.0045c0c8
add esp, 8
fld qword [esp + 0xa0]
fld qword [esp + 0x14]
fxch st(1)
fucom st(1)
fstp st(1)
fnstsw ax
sahf
fldz
jb 0x44d1b6
fstp st(0)
fld qword [esp + 0xc4]
fmul dword [0x96c584]
fld qword [esp + 0x98]
fxch st(1)
fucomp st(1)
fnstsw ax
sahf
jae 0x44d313
fstp st(1)
fstp st(0)
cmp byte [esp + 0xe0], 0
je 0x44d2b5
mov ecx, dword [esi + 0x2f180c]
mov eax, ecx
sar eax, 0x1f
cmp ebp, ecx
mov edx, edi
sbb edx, eax
fldz
jl 0x44d205
fstp st(0)
mov dword [esp + 0x24], ecx
fild dword [esp + 0x24]
fld qword [esi + 0x2f1a10]
fucomp st(1)
fnstsw ax
sahf
ja 0x44d205
fld qword [esi + 0x2f1a08]
fxch st(1)
fucompp
fnstsw ax
sahf
fldz
jbe 0x44d20b
fstp st(0)
xor ecx, ecx
fldz
fstp st(0)
mov eax, ecx
sar eax, 0x1f
mov edx, ebp
sub edx, ecx
mov ecx, edi
sbb ecx, eax
mov dword [esp + 0x50], edx
mov dword [esp + 0x54], ecx
fild qword [esp + 0x50]
fadd dword [0x96c584]
fnstcw word [esp + 0xa]
movzx eax, word [esp + 0xa]
mov word [esp + 0xa], 0xc7f
fldcw word [esp + 0xa]
mov word [esp + 0xa], ax
fistp qword [esp + 0x48]
fldcw word [esp + 0xa]
sub esp, 8
xor ecx, ecx
mov eax, esi
mov edx, dword [esp + 8]
push dword [esp + 0x54]
push dword [esp + 0x54]
call fcn.00453d78
add esp, 8
mov ecx, dword [0xb20588]
sub ebp, dword [ecx + 0x3500]
sbb edi, dword [ecx + 0x3504]
mov dword [esp + 0x40], ebp
mov dword [esp + 0x44], edi
fild qword [esp + 0x40]
fld qword [esi + 0x2f1a10]
fucomp st(1)
fnstsw ax
sahf
ja 0x44d2aa
fld qword [esi + 0x2f1a08]
fxch st(1)
fucom st(1)
fstp st(1)
fnstsw ax
mov bl, 1
sahf
jbe 0x44d3c9
fstp st(0)
fldz
mov bl, 1
jmp 0x44d3c9
fld qword [esi + 0x2f1a10]
fld qword [esp + 0xbc]
fucom st(1)
fnstsw ax
sahf
jb 0x44d2dc
fld qword [esi + 0x2f1a08]
fucompp
fnstsw ax
sahf
fldz
jae 0x44d3a5
fstp st(0)
mov ecx, dword [0xb20588]
fld qword [ecx + 0x34f8]
fxch st(1)
fucomp st(1)
fnstsw ax
sahf
ja 0x44d308
fld qword [esi + 0x2f1a08]
fxch st(1)
fucompp
fnstsw ax
sahf
fldz
jbe 0x44d3d9
fstp st(0)
fldz
xor ebx, ebx
jmp 0x44d3c9
fld qword [esp + 0xac]
fucomp st(2)
fstp st(1)
fnstsw ax
sahf
seta cl
fld qword [esp + 0xb4]
fxch st(1)
fucompp
fnstsw ax
sahf
seta bl
or bl, cl
jmp 0x44d3ab
cmp dword [esp], 2
je 0x44cf6f
cmp dword [esp], 5
je 0x44cf6f
fstp st(0)
fstp st(0)
sub esp, 8
mov edx, 1
mov ecx, 1
mov eax, dword [esp + 0xc]
push edi
push ebp
call fcn.00453d78
add esp, 8
jmp 0x44d7fd
cmp byte [esi + 0x8f8], 0
setne dl
cmp dword [esp], 5
sete ah
or ah, dl
jne 0x44d816
cmp byte [esp + 0xe0], 0
jne 0x44d816
test al, al
jne 0x44d81f
jmp 0x44d088
fstp st(1)
fstp st(0)
xor ebx, ebx
mov ecx, dword [0xb20588]
sub ebp, dword [ecx + 0x3500]
sbb edi, dword [ecx + 0x3504]
mov dword [esp + 0x58], ebp
mov dword [esp + 0x5c], edi
fild qword [esp + 0x58]
mov edi, dword [esp]
cmp edi, 7
je 0x44d3e9
fst qword [ecx + 0x34f8]
jmp 0x44d3f1
fstp st(0)
xor ebx, ebx
mov edi, dword [esp]
fld qword [esp + 0x1c]
cmp edi, 7
jne 0x44d3d1
fstp st(0)
fld qword [ecx + 0x34f8]
fild qword [ecx + 0x3500]
faddp st(1)
fldz
fxch st(1)
fucom st(1)
fstp st(1)
fnstsw ax
xor ecx, ecx
sahf
setae cl
fadd qword [ecx*8 + 0x96c568]
fnstcw word [esp + 8]
movzx eax, word [esp + 8]
mov word [esp + 8], 0xc7f
fldcw word [esp + 8]
mov word [esp + 8], ax
fistp qword [esp + 0x38]
fldcw word [esp + 8]
mov ebp, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
xor eax, eax
cmp byte [esi + 0x904], 0
sete al
sub esp, 8
mov dword [esp + 0x1c], ecx
push ecx
push ebp
call fcn.00476510
add esp, 8
mov eax, esi
call fcn.00459280
test bl, bl
je 0x44d478
mov eax, dword [esi + 0x728]
mov eax, dword [eax + 0x2bc]
test eax, eax
jle 0x44d478
mov eax, esi
call fcn.0044c870
mov eax, dword [0xb20588]
cmp byte [eax + 0x2320], 0
mov ebx, dword [esp + 0x14]
je 0x44d4cf
mov esi, dword [0xb20590]
sub esp, 0xc
push esi
call fcn.00431320
add esp, 0x10
mov eax, dword [esi + 0x4c]
test eax, eax
je 0x44d4af
sub esp, 8
push ebx
push ebp
call eax
add esp, 8
jmp 0x44d4bf
mov eax, dword [esi + 0x44]
test eax, eax
je 0x44d4bf
sub esp, 0xc
push ebp
call eax
add esp, 0xc
sub esp, 0xc
push esi
call fcn.00431320
add esp, 0x10
mov esi, dword [esp + 4]
mov eax, dword [esi + 0x458]
cmp byte [eax + 0x50], 0
je 0x44d62d
cmp byte [esi + 0x2f1860], 0
je 0x44d525
cmp byte [esi + 0x2f1872], 0
jne 0x44d525
cmp byte [esi + 0x2f1935], 0
je 0x44d50f
cmp dword [esi + 0x2f196c], 1
jne 0x44d50f
mov eax, dword [esi + 0x2f1968]
dec eax
cmp eax, 2
jb 0x44d525
sub esp, 0xc
push edi
push ebx
push ebp
push 1
push dword [esi + 0x2f1f80]
call fcn.00478858
add esp, 0x20
cmp byte [esi + 0x2f1880], 0
je 0x44d56b
cmp byte [esi + 0x2f1872], 0
jne 0x44d56b
cmp byte [esi + 0x2f1935], 0
je 0x44d555
cmp dword [esi + 0x2f196c], 2
jne 0x44d555
mov eax, dword [esi + 0x2f1968]
dec eax
cmp eax, 2
jb 0x44d56b
sub esp, 0xc
push edi
push ebx
push ebp
push 2
push dword [esi + 0x2f1f80]
call fcn.00478858
add esp, 0x20
cmp byte [esi + 0x2f18a0], 0
je 0x44d5b1
cmp byte [esi + 0x2f1872], 0
jne 0x44d5b1
cmp byte [esi + 0x2f1935], 0
je 0x44d59b
cmp dword [esi + 0x2f196c], 3
jne 0x44d59b
mov eax, dword [esi + 0x2f1968]
dec eax
cmp eax, 2
jb 0x44d5b1
sub esp, 0xc
push edi
push ebx
push ebp
push 3
push dword [esi + 0x2f1f80]
call fcn.00478858
add esp, 0x20
cmp byte [esi + 0x2f18c0], 0
je 0x44d5f7
cmp byte [esi + 0x2f1872], 0
jne 0x44d5f7
cmp byte [esi + 0x2f1935], 0
je 0x44d5e1
cmp dword [esi + 0x2f196c], 4
jne 0x44d5e1
mov eax, dword [esi + 0x2f1968]
dec eax
cmp eax, 2
jb 0x44d5f7
sub esp, 0xc
push edi
push ebx
push ebp
push 4
push dword [esi + 0x2f1f80]
call fcn.00478858
add esp, 0x20
cmp dword [esi + 0x2f18e0], 0
jne 0x44d62d
cmp byte [esi + 0x2f1935], 0
je 0x44d61e
cmp dword [esi + 0x2f196c], 5
jne 0x44d61e
mov eax, dword [esi + 0x2f1968]
dec eax
cmp eax, 2
jb 0x44d62d
sub esp, 8
mov eax, edi
push ebx
push ebp
call fcn.0041dd54
add esp, 8
mov eax, dword [0xb20588]
add eax, 0x20
sub esp, 8
push ebp
push eax
call fcn.00490904
add esp, 0x10
mov eax, dword [0xad5690]
mov eax, dword [eax]
test eax, eax
je 0x44d663
cmp byte [eax + 0x69], 0
je 0x44d663
cmp byte [esi + 0x904], 0
jne 0x44d663
mov edx, edi
call fcn.0040c178
mov dword [0x96eb40], ebp
mov dword [0x96eb44], ebx
mov eax, dword [0xb20588]
cmp byte [eax + 0x1778], 0
mov dword [esp + 0x30], ebp
mov dword [esp + 0x34], ebx
fild qword [esp + 0x30]
je 0x44d691
fstp qword [esi + 0x2f1dc0]
jmp 0x44d69e
mov eax, dword [esi + 0x2f17b8]
fstp qword [esi + eax*8 + 0x2f1db0]
mov eax, dword [esi + 0x788]
mov ecx, dword [eax]
call dword [ecx + 0xc4]
cmp edi, 7
mov eax, dword [0xb20588]
mov byte [eax + 0x8710], 1
fldz
fldz
fxch st(1)
je 0x44d803
fstp st(0)
fstp st(0)
mov al, byte [esi + 0x2f180a]
test al, al
fldz
fldz
fxch st(1)
je 0x44d803
fstp st(0)
fstp st(0)
mov edi, dword [esp]
cmp edi, 6
je 0x44d726
sub esp, 4
push ebx
push ebp
push dword [esi + 0x2f1f88]
call fcn.0040c5cc
add esp, 0x10
mov ebx, eax
sub esp, 8
push ebx
push dword [esi + 0x2f1f88]
call fcn.0040c7f8
add esp, 0x10
mov eax, dword [esi + 0x88c]
mov ecx, dword [eax]
mov edx, ebx
mov ebx, dword [esp + 0x14]
call dword [ecx + 0x134]
mov ecx, dword [esi + 0x964]
mov eax, 0x80000000
mov edx, dword [esi + 0x960]
xor edx, eax
not ecx
or ecx, edx
jne 0x44d7c7
mov ecx, dword [esi + 0x96c]
xor eax, dword [esi + 0x968]
not ecx
or ecx, eax
jne 0x44d7c7
cmp edi, 9
je 0x44d7c7
cmp dword [esi + 0x970], 7
jne 0x44d7c7
sub esp, 0xc
push dword [esi + 0x2f1f88]
call fcn.004124d8
add esp, 0x10
mov ecx, eax
sub esp, 0xc
xor edx, edx
mov eax, esi
push 6
call fcn.00454718
add esp, 0xc
cmp dword [esi + 0x2f1dd0], 6
je 0x44d7b4
sub esp, 0xc
push dword [esi + 0x2f1f88]
call fcn.00412de8
add esp, 0x10
mov edx, eax
sub esp, 0xc
xor ecx, ecx
mov eax, esi
push 0
call fcn.0044b954
add esp, 0xc
sub esp, 4
push ebx
push ebp
push dword [esi + 0x2f1f88]
call fcn.00412878
add esp, 0x10
sub esp, 4
push ebx
push ebp
push dword [esi + 0x2f1f88]
call fcn.0040c994
add esp, 0x10
mov ecx, eax
mov esi, dword [esi + 0x8a0]
mov eax, dword [esi + 0x2dc]
mov edi, dword [eax]
mov edx, ecx
call dword [edi + 0x60]
mov ecx, eax
mov edi, dword [esi]
mov eax, esi
mov edx, ecx
call dword [edi + 0x134]
fldz
fldz
fxch st(1)
fstp st(0)
fstp st(0)
mov al, 1
add esp, 0xcc
pop esi
pop edi
pop ebx
pop ebp
ret 0xc
test ah, 1
jne 0x44d088
fstp st(0)
fstp st(0)
mov eax, dword [esi + 0x2f180c]
mov ecx, eax
sar ecx, 0x1f
mov esi, ebp
sub esi, eax
mov ebx, edi
sbb ebx, ecx
sub esp, 8
xor ecx, ecx
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 8]
push ebx
push esi
mov esi, dword [esp + 0x14]
call fcn.00453d78
add esp, 8
mov ecx, dword [0xb20588]
mov eax, dword [ecx + 0x3500]
mov ebx, dword [ecx + 0x3504]
jmp 0x44d0da