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

Disassembly:
sub esp, 0xdc
mov eax, dword [esp + 0xe4]
push ebx
mov ebx, dword [esp + 0xe4]
mov ecx, dword [ebx + 8]
push ebp
mov dword [ebx + 0x2fa0], eax
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
push esi
push edi
call eax
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x18]
call eax
mov edx, dword [eax]
mov edx, dword [edx + 0x48]
lea ecx, [esp + 0x28]
push ecx
mov ecx, eax
call edx
fild dword [eax]
mov eax, dword [ebx + 0x212c]
sub eax, dword [ebx + 0x2128]
fdiv qword [0x657590]
lea edi, [ebx + 0x211c]
xor esi, esi
mov dword [esp + 0x30], esi
mov dword [esp + 0x28], edi
fstp dword [esp + 0x14]
test eax, 0xffffff80
jle 0x444a1b
lea ebp, [ebx + 0x1fb4]
mov dword [esp + 0x34], ebp
mov dword [esp + 0x1c], ebp
mov eax, dword [ebx + 0x2f9c]
lea ecx, [eax + eax*2]
lea ebx, [ebx + ecx*8 + 0x61b98]
mov ecx, dword [ebx + 0x10]
sub ecx, dword [ebx + 0xc]
mov eax, 0x38e38e39
imul ecx
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp esi, eax
mov ebx, esi
jg 0x4449d6
call fcn.0043cd90
mov ecx, dword [eax]
mov edx, dword [ecx]
cmp dword [esp + 0xf4], esi
jne 0x444728
mov eax, dword [edx + 0x74]
jmp 0x44472b
mov eax, dword [edx + 0x78]
call eax
fild dword [esp + 0x30]
fmul qword [0x6579a0]
fadd qword [0x657998]
fld dword [esp + 0x14]
fld st(0)
fmulp st(2)
fxch st(1)
call fcn.005faf10
fmul qword [0x6574e0]
mov esi, eax
call fcn.005faf10
mov edx, dword [ebp]
push eax
mov eax, dword [edx + 0x2c]
push esi
mov ecx, ebp
call eax
mov esi, dword [esp + 0xf0]
add esi, 0x18ec
mov dword [esp + 0x20], 0xc
lea ebx, [ebx]
mov edx, dword [esi]
mov edx, dword [edx + 0x30]
lea eax, [esp + 0x68]
push eax
mov ecx, esi
call edx
mov ebx, dword [eax]
mov eax, dword [esi]
mov edx, dword [eax + 0x30]
lea ecx, [esp + 0x48]
push ecx
mov ecx, esi
call edx
mov ebp, dword [eax + 4]
mov eax, dword [esi]
mov edx, dword [eax + 0x34]
lea ecx, [esp + 0xc0]
push ecx
mov ecx, esi
call edx
fild dword [eax]
fmul dword [esp + 0x14]
call fcn.005faf10
mov dword [esp + 0x18], eax
mov eax, dword [esi]
mov edx, dword [eax + 0x30]
lea ecx, [esp + 0x58]
push ecx
mov ecx, esi
call edx
mov edi, dword [eax]
mov eax, dword [esi]
mov edx, dword [eax + 0x34]
add edi, dword [esp + 0x18]
lea ecx, [esp + 0x98]
push ecx
mov ecx, esi
call edx
fild dword [eax + 4]
fmul dword [esp + 0x14]
call fcn.005faf10
mov dword [esp + 0x18], eax
mov eax, dword [esi]
mov edx, dword [eax + 0x30]
lea ecx, [esp + 0x38]
push ecx
mov ecx, esi
call edx
mov ecx, dword [eax + 4]
add ecx, dword [esp + 0x18]
mov edx, dword [esi]
sub esp, 0x10
mov eax, esp
mov dword [eax], ebx
mov dword [eax + 4], ebp
mov dword [eax + 8], edi
mov dword [eax + 0xc], ecx
mov eax, dword [edx + 0x38]
mov ecx, esi
call eax
add esi, 0x74
sub dword [esp + 0x20], 1
jne 0x444780
mov esi, dword [esp + 0x34]
mov dword [esp + 0x20], 3
mov edi, edi
mov edx, dword [esi]
mov edx, dword [edx + 0x30]
lea eax, [esp + 0xb8]
push eax
mov ecx, esi
call edx
mov ebx, dword [eax]
mov eax, dword [esi]
mov edx, dword [eax + 0x30]
lea ecx, [esp + 0x78]
push ecx
mov ecx, esi
call edx
mov ebp, dword [eax + 4]
mov eax, dword [esi]
mov edx, dword [eax + 0x34]
lea ecx, [esp + 0xa8]
push ecx
mov ecx, esi
call edx
fild dword [eax]
fmul dword [esp + 0x14]
call fcn.005faf10
mov dword [esp + 0x18], eax
mov eax, dword [esi]
mov edx, dword [eax + 0x30]
lea ecx, [esp + 0x88]
push ecx
mov ecx, esi
call edx
mov edi, dword [eax]
mov eax, dword [esi]
mov edx, dword [eax + 0x34]
add edi, dword [esp + 0x18]
lea ecx, [esp + 0x40]
push ecx
mov ecx, esi
call edx
fild dword [eax + 4]
fmul dword [esp + 0x14]
call fcn.005faf10
mov dword [esp + 0x18], eax
mov eax, dword [esi]
mov edx, dword [eax + 0x30]
lea ecx, [esp + 0x50]
push ecx
mov ecx, esi
call edx
mov ecx, dword [eax + 4]
add ecx, dword [esp + 0x18]
mov edx, dword [esi]
sub esp, 0x10
mov eax, esp
mov dword [eax], ebx
mov dword [eax + 4], ebp
mov dword [eax + 8], edi
mov dword [eax + 0xc], ecx
mov eax, dword [edx + 0x38]
mov ecx, esi
call eax
add esi, 0x74
sub dword [esp + 0x20], 1
jne 0x444840
mov esi, dword [esp + 0xf0]
add esi, 0x21d4
mov dword [esp + 0x20], 0xc
lea ebx, [ebx]
mov edx, dword [esi]
mov edx, dword [edx + 0x30]
lea eax, [esp + 0x60]
push eax
mov ecx, esi
call edx
mov ebx, dword [eax]
mov eax, dword [esi]
mov edx, dword [eax + 0x30]
lea ecx, [esp + 0x70]
push ecx
mov ecx, esi
call edx
mov ebp, dword [eax + 4]
mov eax, dword [esi]
mov edx, dword [eax + 0x34]
lea ecx, [esp + 0x80]
push ecx
mov ecx, esi
call edx
fild dword [eax]
fmul dword [esp + 0x14]
call fcn.005faf10
mov dword [esp + 0x18], eax
mov eax, dword [esi]
mov edx, dword [eax + 0x30]
lea ecx, [esp + 0x90]
push ecx
mov ecx, esi
call edx
mov edi, dword [eax]
mov eax, dword [esi]
mov edx, dword [eax + 0x34]
add edi, dword [esp + 0x18]
lea ecx, [esp + 0xa0]
push ecx
mov ecx, esi
call edx
fild dword [eax + 4]
fmul dword [esp + 0x14]
call fcn.005faf10
mov dword [esp + 0x18], eax
mov eax, dword [esi]
mov edx, dword [eax + 0x30]
lea ecx, [esp + 0xb0]
push ecx
mov ecx, esi
call edx
mov ecx, dword [eax + 4]
add ecx, dword [esp + 0x18]
mov edx, dword [esi]
sub esp, 0x10
mov eax, esp
mov dword [eax], ebx
mov dword [eax + 4], ebp
mov dword [eax + 8], edi
mov dword [eax + 0xc], ecx
mov eax, dword [edx + 0x38]
mov ecx, esi
call eax
add esi, 0x74
sub dword [esp + 0x20], 1
jne 0x444910
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0x28]
mov ebp, dword [esp + 0x1c]
jmp 0x4449f7
call fcn.0043cd90
mov ecx, dword [eax]
mov edx, dword [ecx]
mov eax, dword [edx + 0x7c]
call eax
mov edx, dword [ebp]
mov eax, 0xffffd8f1
mov ecx, eax
push ecx
push eax
mov eax, dword [edx + 0x2c]
mov ecx, ebp
call eax
mov ecx, dword [edi + 0x10]
sub ecx, dword [edi + 0xc]
mov ebx, dword [esp + 0xf0]
inc esi
add ebp, 0x74
sar ecx, 7
cmp esi, ecx
mov dword [esp + 0x30], esi
mov dword [esp + 0x1c], ebp
jl 0x4446d0
xor ebp, ebp
lea esi, [ebx + 0x21d4]
lea ecx, [ebx + 0x2774]
mov dword [esp + 0x34], ebp
mov dword [esp + 0x18], esi
mov dword [esp + 0x30], ecx
jmp 0x444a4b
mov ebx, dword [esp + 0xf0]
mov ecx, dword [esp + 0x30]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
call eax
mov byte [ebx + ebp + 0x61b8c], 0
mov eax, dword [ebx + 0x2f9c]
lea ecx, [eax + eax*2]
mov eax, dword [ebx + 0x2fa0]
lea edi, [ebx + ecx*8 + 0x61b98]
mov ecx, dword [edi + 0x10]
sub ecx, dword [edi + 0xc]
lea edx, [eax + eax*2]
lea eax, [ebp + edx*4]
mov dword [esp + 0x28], eax
mov eax, 0x38e38e39
imul ecx
mov eax, dword [esp + 0x28]
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp eax, ecx
jge 0x444e61
call fcn.00445810
mov dword [esp + 0x28], eax
mov byte [esp + 0x27], 0
mov dword [esp + 0x1c], 0
lea edi, [eax + 0x3c]
cmp dword [edi + 0x14], 0
je 0x444adc
mov ebx, dword [ebx + 8]
lea eax, [ebx + 0x29130]
push edi
mov ebx, 0xfffffffe
call fcn.004c5a37
mov ebx, dword [esp + 0xf0]
test al, al
jne 0x444aef
mov eax, dword [esp + 0x1c]
inc eax
add edi, 0x1c
cmp eax, 3
mov dword [esp + 0x1c], eax
jl 0x444ab7
jmp 0x444af4
mov byte [esp + 0x27], 1
mov al, byte [esp + 0x27]
mov byte [ebx + ebp + 0x61b8c], al
test al, al
je 0x444b81
mov ecx, dword [esp + 0x30]
mov edx, dword [ecx]
mov eax, dword [esp + 0x28]
mov edx, dword [edx + 0x140]
push 0
push 1
push 0x15
push eax
call edx
mov eax, 0x55555556
imul ebp
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x20], eax
lea eax, [eax + eax*2]
sub ebp, eax
mov dword [esp + 0x28], ebp
fild dword [esp + 0x28]
fmul qword [0x6575b0]
fadd qword [0x657990]
fld dword [esp + 0x14]
fld st(0)
fmulp st(2)
fxch st(1)
call fcn.005faf10
fild dword [esp + 0x20]
mov edi, eax
fmul qword [0x6575a0]
fadd qword [0x657988]
fmulp st(1)
call fcn.005faf10
mov edx, dword [esi]
push eax
mov eax, dword [edx + 0x2c]
push edi
mov ecx, esi
call eax
mov edx, dword [esi]
mov eax, dword [edx + 0x78]
jmp 0x444be4
mov eax, 0x55555556
imul ebp
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
sub ebp, ecx
mov dword [esp + 0x28], ebp
mov dword [esp + 0x20], eax
fild dword [esp + 0x28]
fmul qword [0x6575b0]
fadd qword [0x657990]
fld dword [esp + 0x14]
fld st(0)
fmulp st(2)
fxch st(1)
call fcn.005faf10
fild dword [esp + 0x20]
mov edi, eax
fmul qword [0x6575a0]
fadd qword [0x657988]
fmulp st(1)
call fcn.005faf10
mov edx, dword [esi]
push eax
mov eax, dword [edx + 0x2c]
push edi
mov ecx, esi
call eax
mov edx, dword [esi]
mov eax, dword [edx + 0x7c]
mov ecx, esi
call eax
lea esi, [ebx + 0x18ec]
mov dword [esp + 0x1c], 0xc
jmp 0x444c00
mov edx, dword [esi]
mov edx, dword [edx + 0x30]
lea eax, [esp + 0xb0]
push eax
mov ecx, esi
call edx
mov ebp, dword [eax]
mov eax, dword [esi]
mov edx, dword [eax + 0x30]
lea ecx, [esp + 0xa0]
push ecx
mov ecx, esi
call edx
mov eax, dword [eax + 4]
mov edx, dword [esi]
mov edx, dword [edx + 0x34]
mov dword [esp + 0xcc], eax
lea eax, [esp + 0x90]
push eax
mov ecx, esi
call edx
fild dword [eax]
fmul dword [esp + 0x14]
call fcn.005faf10
mov dword [esp + 0x28], eax
mov eax, dword [esi]
mov edx, dword [eax + 0x30]
lea ecx, [esp + 0x80]
push ecx
mov ecx, esi
call edx
mov edi, dword [eax]
mov eax, dword [esi]
mov edx, dword [eax + 0x34]
add edi, dword [esp + 0x28]
lea ecx, [esp + 0x70]
push ecx
mov ecx, esi
call edx
fild dword [eax + 4]
fmul dword [esp + 0x14]
call fcn.005faf10
mov dword [esp + 0x28], eax
mov eax, dword [esi]
mov edx, dword [eax + 0x30]
lea ecx, [esp + 0x60]
push ecx
mov ecx, esi
call edx
mov ecx, dword [eax + 4]
add ecx, dword [esp + 0x28]
mov edx, dword [esi]
sub esp, 0x10
mov eax, esp
mov dword [eax], ebp
mov ebp, dword [esp + 0xdc]
mov dword [eax + 4], ebp
mov dword [eax + 8], edi
mov dword [eax + 0xc], ecx
mov eax, dword [edx + 0x38]
mov ecx, esi
call eax
add esi, 0x74
sub dword [esp + 0x1c], 1
jne 0x444c00
lea esi, [ebx + 0x1fb4]
mov dword [esp + 0x1c], 3
mov edx, dword [esi]
mov edx, dword [edx + 0x30]
lea eax, [esp + 0x50]
push eax
mov ecx, esi
call edx
mov ebp, dword [eax]
mov eax, dword [esi]
mov edx, dword [eax + 0x30]
lea ecx, [esp + 0x40]
push ecx
mov ecx, esi
call edx
mov eax, dword [eax + 4]
mov edx, dword [esi]
mov edx, dword [edx + 0x34]
mov dword [esp + 0xdc], eax
lea eax, [esp + 0x88]
push eax
mov ecx, esi
call edx
fild dword [eax]
fmul dword [esp + 0x14]
call fcn.005faf10
mov dword [esp + 0x28], eax
mov eax, dword [esi]
mov edx, dword [eax + 0x30]
lea ecx, [esp + 0xa8]
push ecx
mov ecx, esi
call edx
mov edi, dword [eax]
mov eax, dword [esi]
mov edx, dword [eax + 0x34]
add edi, dword [esp + 0x28]
lea ecx, [esp + 0x78]
push ecx
mov ecx, esi
call edx
fild dword [eax + 4]
fmul dword [esp + 0x14]
call fcn.005faf10
mov dword [esp + 0x28], eax
mov eax, dword [esi]
mov edx, dword [eax + 0x30]
lea ecx, [esp + 0xb8]
push ecx
mov ecx, esi
call edx
mov ecx, dword [eax + 4]
add ecx, dword [esp + 0x28]
mov edx, dword [esi]
sub esp, 0x10
mov eax, esp
mov dword [eax], ebp
mov ebp, dword [esp + 0xec]
mov dword [eax + 4], ebp
mov dword [eax + 8], edi
mov dword [eax + 0xc], ecx
mov eax, dword [edx + 0x38]
mov ecx, esi
call eax
add esi, 0x74
sub dword [esp + 0x1c], 1
jne 0x444cd4
lea esi, [ebx + 0x21d4]
mov dword [esp + 0x1c], 0xc
mov edx, dword [esi]
mov edx, dword [edx + 0x30]
lea eax, [esp + 0x38]
push eax
mov ecx, esi
call edx
mov ebx, dword [eax]
mov eax, dword [esi]
mov edx, dword [eax + 0x30]
lea ecx, [esp + 0x98]
push ecx
mov ecx, esi
call edx
mov ebp, dword [eax + 4]
mov eax, dword [esi]
mov edx, dword [eax + 0x34]
lea ecx, [esp + 0x58]
push ecx
mov ecx, esi
call edx
fild dword [eax]
fmul dword [esp + 0x14]
call fcn.005faf10
mov dword [esp + 0x28], eax
mov eax, dword [esi]
mov edx, dword [eax + 0x30]
lea ecx, [esp + 0xc0]
push ecx
mov ecx, esi
call edx
mov edi, dword [eax]
mov eax, dword [esi]
mov edx, dword [eax + 0x34]
add edi, dword [esp + 0x28]
lea ecx, [esp + 0x48]
push ecx
mov ecx, esi
call edx
fild dword [eax + 4]
fmul dword [esp + 0x14]
call fcn.005faf10
mov dword [esp + 0x28], eax
mov eax, dword [esi]
mov edx, dword [eax + 0x30]
lea ecx, [esp + 0x68]
push ecx
mov ecx, esi
call edx
mov ecx, dword [eax + 4]
add ecx, dword [esp + 0x28]
mov edx, dword [esi]
sub esp, 0x10
mov eax, esp
mov dword [eax], ebx
mov dword [eax + 4], ebp
mov dword [eax + 8], edi
mov dword [eax + 0xc], ecx
mov eax, dword [edx + 0x38]
mov ecx, esi
call eax
add esi, 0x74
sub dword [esp + 0x1c], 1
jne 0x444da5
mov esi, dword [esp + 0x18]
mov ebp, dword [esp + 0x34]
jmp 0x444e91
mov byte [ebx + ebp + 0x61b8c], 0
lea edi, [ebx + 0x2750]
mov ebx, ebp
call fcn.0043cd90
mov ecx, dword [eax]
mov edx, dword [ecx]
mov eax, dword [edx + 0x7c]
call eax
mov edx, dword [esi]
mov eax, 0xffffd8f1
mov ecx, eax
push ecx
push eax
mov eax, dword [edx + 0x2c]
mov ecx, esi
call eax
add dword [esp + 0x30], 0x94
inc ebp
add esi, 0x74
mov dword [esp + 0x34], ebp
mov dword [esp + 0x18], esi
cmp ebp, 0xc
jb 0x444a40
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xdc
ret 8