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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x70
push ebx
push ebp
push esi
push edi
mov edi, ecx
mov eax, dword [edi + 8]
lea ecx, [eax + 0x80918]
call fcn.0046f4f8
mov ecx, eax
call fcn.004741a6
fstp dword [esp + 0x2c]
mov eax, dword [edi + 8]
lea ecx, [esp + 0x38]
push ecx
lea ecx, [eax + 0x80918]
call fcn.0046f4f8
mov ecx, eax
call fcn.00474569
mov edx, dword [edi + 8]
mov ecx, dword [edx + 0x1f8c]
call fcn.00463530
test al, al
jne 0x445040
mov eax, dword [edi + 0x1760]
mov edx, dword [eax + 8]
lea ecx, [edi + 0x1760]
call edx
mov eax, dword [edi + 8]
mov ecx, dword [eax + 0x1f8c]
call fcn.00463530
test al, al
jne 0x444a1a
mov edx, dword [edi + 0x10]
mov eax, dword [edx + 4]
lea ecx, [edi + 0x10]
call eax
cmp byte [edi + 0x14e2], 0
je 0x4449de
mov ecx, dword [edi + 8]
mov eax, dword [ecx + 0x1f8c]
push eax
call fcn.00447780
cmp eax, 0x19
je 0x4449cf
cmp eax, 0x1a
je 0x4449cf
mov eax, edi
call fcn.00446340
mov byte [edi + 0x2de9], 0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 8]
push 0
lea ecx, [eax + 0x3a4]
lea esi, [eax + 0x394]
call fcn.00467a82
mov edx, dword [esi]
mov edx, dword [edx + 0x18]
mov byte [esp + 0x30], al
lea eax, [esp + 0x58]
push eax
mov ecx, esi
call edx
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov eax, dword [esp + 0x30]
push ecx
push edx
push eax
mov eax, dword [edi + 0xc]
call fcn.00451bf0
mov ecx, dword [edi + 0xc]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
call eax
mov eax, dword [edi + 0xc]
cmp dword [eax + 0x52c], 0
jne 0x445040
mov ecx, dword [eax + 0x52c]
cmp ecx, 1
je 0x445040
cmp ecx, 3
je 0x445040
cmp ecx, 4
je 0x445040
call fcn.00451bd0
test al, al
jne 0x444adb
mov eax, dword [edi + 8]
push 0
lea ecx, [eax + 0x3a4]
lea esi, [eax + 0x394]
call fcn.00467a82
mov edx, dword [esi]
mov edx, dword [edx + 0x18]
mov byte [esp + 0x30], al
lea eax, [esp + 0x58]
push eax
mov ecx, esi
call edx
mov edx, dword [eax + 4]
mov eax, dword [eax]
push edx
mov edx, dword [esp + 0x34]
push eax
lea ecx, [edi + 0x26f8]
push edx
push ecx
call fcn.0044ea10
mov eax, dword [edi + 8]
push 0
lea ecx, [eax + 0x3a4]
lea esi, [eax + 0x394]
call fcn.00467a82
mov byte [esp + 0x30], al
mov eax, dword [esi]
mov edx, dword [eax + 0x18]
lea ecx, [esp + 0x58]
push ecx
mov ecx, esi
call edx
mov edx, dword [eax + 4]
mov eax, dword [eax]
push edx
mov edx, dword [esp + 0x34]
push eax
lea ecx, [edi + 0x2854]
push edx
push ecx
jmp 0x444b04
mov eax, 0xffffd8f1
mov ecx, eax
push ecx
push eax
lea edx, [edi + 0x26f8]
push 0
push edx
call fcn.0044ea10
mov eax, 0xffffd8f1
mov ecx, eax
push ecx
push eax
lea edx, [edi + 0x2854]
push 0
push edx
call fcn.0044ea10
mov eax, dword [edi + 0x26f8]
mov edx, dword [eax + 4]
lea ecx, [edi + 0x26f8]
call edx
mov eax, dword [edi + 0x2854]
mov edx, dword [eax + 4]
lea ecx, [edi + 0x2854]
call edx
mov esi, edi
call fcn.00446300
mov eax, dword [edi + 8]
push 1
lea ecx, [eax + 0x3a4]
call fcn.00467a82
test al, al
je 0x444b91
mov eax, dword [edi + 0xc]
cmp dword [eax + 0x52c], 0
jne 0x444b91
call fcn.00451bd0
test al, al
jne 0x444b91
cmp byte [edi + 0x2de5], al
je 0x444b72
mov eax, edi
call fcn.00445aa0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [edi + 8]
call fcn.004032f0
mov esi, dword [edi + 8]
call fcn.004032b0
mov eax, edi
call fcn.00446340
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0x2d28]
cmp dword [0x10461c8], eax
je 0x444bde
mov dword [0x10461c8], eax
imul eax, eax, 0x3e8
mov esi, dword [edi + 0x2d30]
mov edx, eax
mov eax, 0x51eb851f
imul edx
sar edx, 5
mov eax, edx
lea ecx, [edi + 0x2d30]
shr eax, 0x1f
add eax, edx
mov edx, dword [esi + 0x68]
push eax
call edx
mov eax, dword [edi + 8]
mov ecx, dword [edi + 0x2d28]
mov dword [eax + 0x2008], ecx
mov edx, dword [edi + 0x2a94]
mov edx, dword [edx + 0x1c]
lea esi, [edi + 0x2a94]
lea eax, [esp + 0x48]
push eax
mov ecx, esi
call edx
fld dword [esp + 0x2c]
fld qword [0x6d0130]
fmul st(1)
fst qword [esp + 0x58]
call fcn.0064b350
fld qword [0x6d0128]
mov ebp, eax
fmul st(1)
call fcn.0064b350
fild dword [esp + 0x48]
mov edx, dword [esp + 0x3c]
mov ebx, eax
mov eax, dword [esp + 0x38]
fmul st(1)
lea ecx, [eax + ebp]
lea eax, [ebx + edx]
mov dword [esp + 0x30], ebx
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], eax
call fcn.0064b350
fimul dword [esp + 0x4c]
add eax, ebp
add eax, dword [esp + 0x38]
mov dword [esp + 0x78], eax
call fcn.0064b350
add eax, ebx
add eax, dword [esp + 0x3c]
mov dword [esp + 0x7c], eax
mov eax, dword [edi + 8]
mov edx, dword [eax + 0x394]
mov edx, dword [edx + 0x18]
lea ecx, [eax + 0x394]
lea eax, [esp + 0x50]
push eax
call edx
push eax
lea eax, [esp + 0x74]
push eax
call fcn.0047a890
mov edx, dword [edi + 0x2b28]
lea ebx, [edi + 0x2b28]
add esp, 8
mov ecx, ebx
test al, al
je 0x444ca9
mov eax, dword [edx + 0x54]
call eax
test al, al
jne 0x444cae
mov edx, dword [ebx]
mov eax, dword [edx + 0x34]
mov ecx, ebx
jmp 0x444cac
mov eax, dword [edx + 0x38]
call eax
mov edx, dword [ebx]
mov eax, dword [edx + 4]
mov ecx, ebx
call eax
fld dword [esp + 0x2c]
fmul qword [0x6d0288]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x60], ebp
mov dword [esp + 0x64], ecx
fst qword [esp + 0x50]
call fcn.0064b350
mov edx, dword [esi]
mov edx, dword [edx + 0x1c]
mov dword [esp + 0x68], eax
lea eax, [esp + 0x30]
push eax
mov ecx, esi
call edx
fild dword [eax + 4]
fmul dword [esp + 0x2c]
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
call fcn.0064b350
add eax, dword [esp + 0x64]
mov ecx, dword [edi + 8]
mov dword [esp + 0x6c], eax
mov eax, dword [ecx + 0x394]
mov eax, dword [eax + 0x18]
add ecx, 0x394
lea edx, [esp + 0x40]
push edx
call eax
mov ecx, dword [esp + 0x38]
mov eax, dword [edi + 8]
sub dword [esp + 0x40], ecx
mov edx, dword [esp + 0x3c]
sub dword [esp + 0x44], edx
push 0
lea ecx, [eax + 0x3a4]
call fcn.00467a82
test al, al
je 0x444d67
cmp byte [edi + 0x2d2c], 0
jne 0x444d70
lea eax, [esp + 0x40]
push eax
lea ecx, [esp + 0x64]
push ecx
call fcn.0047a890
add esp, 8
test al, al
je 0x444d67
mov byte [edi + 0x2d2c], 1
cmp byte [edi + 0x2d2c], 0
je 0x444dc1
fld qword [esp + 0x50]
fsub qword [esp + 0x58]
call fcn.0064b350
mov ecx, eax
mov eax, dword [esp + 0x40]
sub eax, ebp
imul eax, eax, 0x64
cdq
idiv ecx
test eax, eax
jge 0x444d93
xor eax, eax
jmp 0x444d9d
cmp eax, 0x64
jle 0x444d9d
mov eax, 0x64
mov dword [edi + 0x2d28], eax
mov eax, dword [edi + 8]
mov edx, dword [eax + 0x394]
lea ecx, [eax + 0x394]
mov eax, dword [edx + 0x20]
call eax
test al, al
jne 0x444dc1
mov byte [edi + 0x2d2c], al
mov ecx, dword [edi + 0x2714]
sub ecx, dword [edi + 0x2710]
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
xor esi, esi
test ecx, ecx
jle 0x444f5a
lea ebp, [edi + 0x2704]
push esi
mov eax, ebp
call fcn.0044fd00
cmp dword [eax], 0
je 0x444e30
push esi
mov eax, ebp
call fcn.0044fd00
mov ecx, dword [eax]
mov edx, dword [ecx]
mov eax, dword [edx + 0x60]
call eax
test al, al
je 0x444e30
mov eax, dword [edi + 8]
fldz
mov edx, dword [eax + 0x802e0]
lea ecx, [eax + 0x802e0]
mov eax, dword [edx + 8]
sub esp, 8
fstp qword [esp]
push 0
call eax
lea ebp, [edi + 0x2704]
push esi
mov eax, ebp
call fcn.0044fd00
cmp dword [eax], 0
je 0x444e58
push esi
mov eax, ebp
call fcn.0044fd00
mov ecx, dword [eax]
mov edx, dword [ecx]
mov eax, dword [edx + 0x68]
call eax
test al, al
jne 0x444eb1
lea ebx, [edi + 0x2704]
push esi
mov eax, ebx
call fcn.0044fd00
cmp dword [eax], 0
je 0x444e84
push esi
mov eax, ebx
call fcn.0044fd00
mov ecx, dword [eax]
mov edx, dword [ecx]
mov eax, dword [edx + 0x6c]
call eax
test al, al
jne 0x444f17
mov ecx, dword [edi + 0x2714]
sub ecx, dword [edi + 0x2710]
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
inc esi
add ecx, edx
cmp esi, ecx
jl 0x444dea
jmp 0x444f5a
mov eax, dword [edi + 8]
fldz
mov edx, dword [eax + 0x801a0]
lea ecx, [eax + 0x801a0]
mov eax, dword [edx + 8]
sub esp, 8
fstp qword [esp]
push 0
call eax
cmp esi, 6
ja case.default.0x444ed4
jmp dword [esi*4 + 0x445048]
mov eax, edi
call fcn.00445eb0
jmp case.default.0x444ed4
mov eax, edi
call fcn.00445d20
jmp case.default.0x444ed4
mov eax, edi
call fcn.00445aa0
jmp case.default.0x444ed4
mov eax, edi
call fcn.00445bc0
jmp case.default.0x444ed4
mov esi, edi
call fcn.00445c80
jmp case.default.0x444ed4
mov bl, 1
jmp 0x444f4c
mov bl, 1
mov eax, edi
call fcn.00446060
jmp case.default.0x444ed4
mov eax, dword [edi + 8]
fldz
mov edx, dword [eax + 0x80240]
lea ecx, [eax + 0x80240]
mov eax, dword [edx + 8]
sub esp, 8
fstp qword [esp]
push 0
call eax
sub esi, 5
je 0x444f4a
sub esi, 1
jne case.default.0x444ed4
xor bl, bl
mov eax, edi
call fcn.00446060
jmp case.default.0x444ed4
xor bl, bl
mov eax, edi
call fcn.004460f0
mov eax, edi
call fcn.00445780
mov ecx, dword [edi + 0x2870]
sub ecx, dword [edi + 0x286c]
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
xor esi, esi
test ecx, ecx
jle 0x445040
lea ebp, [edi + 0x2860]
push esi
mov eax, ebp
call fcn.0044fd00
cmp dword [eax], 0
je 0x444fc9
push esi
mov eax, ebp
call fcn.0044fd00
mov ecx, dword [eax]
mov edx, dword [ecx]
mov eax, dword [edx + 0x60]
call eax
test al, al
je 0x444fc9
mov eax, dword [edi + 8]
fldz
mov edx, dword [eax + 0x802e0]
lea ecx, [eax + 0x802e0]
mov eax, dword [edx + 8]
sub esp, 8
fstp qword [esp]
push 0
call eax
lea ebx, [edi + 0x2860]
push esi
mov eax, ebx
call fcn.0044fd00
cmp dword [eax], 0
je 0x445018
push esi
mov eax, ebx
call fcn.0044fd00
mov ecx, dword [eax]
mov edx, dword [ecx]
mov eax, dword [edx + 0x68]
call eax
test al, al
je 0x445018
mov eax, dword [edi + 8]
fldz
mov edx, dword [eax + 0x801a0]
lea ecx, [eax + 0x801a0]
mov eax, dword [edx + 8]
sub esp, 8
fstp qword [esp]
push 0
call eax
mov ecx, esi
mov eax, edi
call fcn.00445ff0
mov ecx, dword [edi + 0x2870]
sub ecx, dword [edi + 0x286c]
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
inc esi
add ecx, edx
cmp esi, ecx
jl 0x444f83
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret