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

Disassembly:
sub esp, 0x44
push ebx
push ebp
push esi
mov esi, ecx
push edi
lea ecx, [esp + 0x14]
call fcn.0044cc50
lea edi, [esi + 4]
mov eax, edi
mov ecx, dword [eax]
mov dword [esp + 0x44], ecx
mov ecx, dword [eax + 4]
mov ebx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov eax, dword [esp + 0x64]
cmp eax, edx
jne 0x44b08d
mov eax, dword [esp + 0x60]
sub eax, ebx
sar eax, 3
mov dword [esp + 0x58], eax
jmp 0x44b0b4
mov ebp, dword [esp + 0x58]
sub eax, edx
mov edx, dword [esp + 0x60]
sub ecx, ebx
sar eax, 2
add eax, 0x7fffff
sub edx, ebp
shl eax, 9
sar ecx, 3
add eax, ecx
sar edx, 3
add eax, edx
mov dword [esp + 0x58], eax
mov ecx, dword [esi + 0x2c]
sub ecx, eax
cmp eax, ecx
mov dword [esp + 0x10], ecx
jae 0x44b4b6
mov ebp, dword [esp + 0x68]
cmp eax, ebp
jae 0x44b263
mov ecx, ebp
sub ecx, eax
je 0x44b115
mov ebx, ecx
mov eax, dword [esi + 0x2c]
test eax, eax
je 0x44b0e9
mov eax, dword [esi + 0xc]
mov ecx, dword [edi]
cmp eax, ecx
jne 0x44b0f0
mov ecx, esi
call fcn.0044ccb0
mov eax, dword [esi + 0xc]
mov ecx, dword [esp + 0x6c]
add eax, 0xfffffff8
push ecx
push eax
mov dword [esi + 0xc], eax
call fcn.0044d260
mov ecx, dword [esi + 0x2c]
add esp, 8
inc ecx
dec ebx
mov dword [esi + 0x2c], ecx
jne 0x44b0d9
mov eax, dword [esp + 0x58]
test eax, eax
jbe 0x44b18d
mov dword [esp + 0x68], eax
mov edx, edi
mov eax, dword [edx]
mov dword [esp + 0x44], eax
mov ecx, dword [edx + 4]
mov dword [esp + 0x48], ecx
mov eax, dword [edx + 8]
mov dword [esp + 0x4c], eax
lea eax, [ebp - 1]
mov ecx, dword [edx + 0xc]
lea edx, [esp + 0x34]
mov dword [esp + 0x50], ecx
push eax
push edx
lea ecx, [esp + 0x4c]
call fcn.0044c9f0
mov ebx, dword [eax + 8]
mov eax, dword [esi + 0x2c]
test eax, eax
je 0x44b15f
mov eax, dword [esi + 0xc]
mov ecx, dword [edi]
cmp eax, ecx
jne 0x44b166
mov ecx, esi
call fcn.0044ccb0
mov edx, dword [esi + 0xc]
push ebx
add edx, 0xfffffff8
mov eax, edx
mov dword [esi + 0xc], edx
push eax
call fcn.0044d260
mov ecx, dword [esi + 0x2c]
mov eax, dword [esp + 0x70]
add esp, 8
inc ecx
dec eax
mov dword [esi + 0x2c], ecx
mov dword [esp + 0x68], eax
jne 0x44b11d
mov ecx, dword [edi]
mov edx, dword [edi + 4]
mov eax, dword [edi + 8]
mov dword [esp + 0x24], ecx
mov ecx, dword [edi + 0xc]
push ebp
mov dword [esp + 0x34], ecx
lea ecx, [esp + 0x28]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], eax
call fcn.0044d090
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x30]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x58]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x28], ecx
push edx
lea ecx, [esp + 0x28]
mov dword [esp + 0x18], eax
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], eax
mov dword [esp + 0x34], esi
call fcn.0044d090
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x5c], edx
mov edx, dword [esp + 0x20]
cmp eax, ecx
mov esi, ecx
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], edx
je 0x44b82c
mov ecx, dword [esp + 0x6c]
mov edx, dword [ecx]
mov dword [eax], edx
mov eax, dword [ecx + 4]
mov ecx, dword [esp + 0x60]
mov dword [ecx + 4], eax
lea ecx, [esp + 0x58]
call fcn.0044d3e0
mov eax, dword [esp + 0x60]
cmp eax, esi
jne 0x44b236
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret 0x18
test ebp, ebp
jbe 0x44b2db
mov dword [esp + 0x68], ebp
mov edx, edi
mov eax, dword [edx]
mov dword [esp + 0x44], eax
mov ecx, dword [edx + 4]
mov dword [esp + 0x48], ecx
mov eax, dword [edx + 8]
mov dword [esp + 0x4c], eax
lea eax, [ebp - 1]
mov ecx, dword [edx + 0xc]
lea edx, [esp + 0x34]
mov dword [esp + 0x50], ecx
push eax
push edx
lea ecx, [esp + 0x4c]
call fcn.0044c9f0
mov ebx, dword [eax + 8]
mov eax, dword [esi + 0x2c]
test eax, eax
je 0x44b2ad
mov eax, dword [esi + 0xc]
mov ecx, dword [edi]
cmp eax, ecx
jne 0x44b2b4
mov ecx, esi
call fcn.0044ccb0
mov edx, dword [esi + 0xc]
push ebx
add edx, 0xfffffff8
mov eax, edx
mov dword [esi + 0xc], edx
push eax
call fcn.0044d260
mov ecx, dword [esi + 0x2c]
mov eax, dword [esp + 0x70]
add esp, 8
inc ecx
dec eax
mov dword [esi + 0x2c], ecx
mov dword [esp + 0x68], eax
jne 0x44b26b
mov ecx, edi
push ebp
mov edx, dword [ecx]
mov dword [esp + 0x28], edx
mov eax, dword [ecx + 4]
mov dword [esp + 0x2c], eax
mov edx, dword [ecx + 8]
mov dword [esp + 0x30], edx
mov eax, dword [ecx + 0xc]
lea ecx, [esp + 0x28]
mov dword [esp + 0x34], eax
call fcn.0044d090
mov ecx, dword [esp + 0x28]
mov ebx, dword [esp + 0x58]
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x2c]
mov esi, dword [esp + 0x30]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x28], ecx
push ebx
lea ecx, [esp + 0x28]
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], eax
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], esi
call fcn.0044d090
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x30]
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x2c]
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x5c], edx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x64], ecx
push ebp
lea ecx, [esp + 0x5c]
mov dword [esp + 0x60], edx
mov dword [esp + 0x64], eax
call fcn.0044d090
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x40], edx
mov edx, dword [esp + 0x64]
cmp eax, esi
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], edx
je 0x44b3f6
mov edx, dword [esp + 0x3c]
mov ecx, dword [eax]
mov dword [edx], ecx
mov ecx, dword [esp + 0x3c]
mov eax, dword [eax + 4]
mov dword [ecx + 4], eax
lea ecx, [esp + 0x34]
call fcn.0044d3e0
lea ecx, [esp + 0x44]
call fcn.0044d3e0
mov eax, dword [esp + 0x4c]
cmp eax, esi
jne 0x44b3ca
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x60], ecx
push ebx
lea ecx, [esp + 0x5c]
mov dword [esp + 0x60], eax
mov dword [esp + 0x68], edx
call fcn.0044d090
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x64]
mov esi, dword [esp + 0x60]
mov dword [esp + 0x44], eax
mov eax, dword [edi]
mov dword [esp + 0x48], ecx
mov ecx, dword [edi + 4]
mov dword [esp + 0x50], edx
mov edx, dword [edi + 8]
mov dword [esp + 0x24], eax
mov eax, dword [edi + 0xc]
mov dword [esp + 0x28], ecx
push ebx
lea ecx, [esp + 0x28]
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], eax
call fcn.0044d090
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x30]
cmp eax, esi
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], ecx
je 0x44b82c
mov edi, dword [esp + 0x6c]
mov edx, dword [edi]
mov dword [eax], edx
mov ecx, dword [esp + 0x3c]
mov eax, dword [edi + 4]
mov dword [ecx + 4], eax
lea ecx, [esp + 0x34]
call fcn.0044d3e0
mov eax, dword [esp + 0x3c]
cmp eax, esi
jne 0x44b48d
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret 0x18
mov ebx, dword [esp + 0x68]
cmp ecx, ebx
jae 0x44b699
sub ebx, ecx
je 0x44b528
mov eax, dword [esi + 0x2c]
test eax, eax
je 0x44b4f8
mov eax, dword [esi + 0x1c]
mov edx, dword [esi + 0x18]
cmp eax, edx
je 0x44b4f8
lea ecx, [eax + 8]
cmp ecx, edx
mov dword [esi + 0x1c], ecx
jne 0x44b508
mov edx, dword [esp + 0x6c]
push edx
push eax
call fcn.0044d260
add esp, 8
mov ecx, esi
call fcn.0044bb30
jmp 0x44b516
mov ecx, esi
call fcn.0044bb30
mov eax, dword [esi + 0x1c]
lea edx, [eax + 8]
mov dword [esi + 0x1c], edx
mov ecx, dword [esp + 0x6c]
push ecx
push eax
call fcn.0044d260
add esp, 8
mov ecx, dword [esi + 0x2c]
inc ecx
dec ebx
mov dword [esi + 0x2c], ecx
jne 0x44b4c6
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x58]
xor ebp, ebp
test ecx, ecx
jbe 0x44b5c3
mov edx, edi
add eax, ebp
push eax
mov ecx, dword [edx]
mov dword [esp + 0x48], ecx
mov ecx, dword [edx + 4]
mov dword [esp + 0x4c], ecx
mov ecx, dword [edx + 8]
mov dword [esp + 0x50], ecx
lea ecx, [esp + 0x38]
mov edx, dword [edx + 0xc]
push ecx
lea ecx, [esp + 0x4c]
mov dword [esp + 0x58], edx
call fcn.0044c9f0
mov ebx, dword [eax + 8]
mov eax, dword [esi + 0x2c]
test eax, eax
je 0x44b591
mov eax, dword [esi + 0x1c]
mov edx, dword [esi + 0x18]
cmp eax, edx
je 0x44b591
lea ecx, [eax + 8]
push ebx
cmp ecx, edx
mov dword [esi + 0x1c], ecx
push eax
jne 0x44b5a3
call fcn.0044d260
add esp, 8
mov ecx, esi
call fcn.0044bb30
jmp 0x44b5ab
mov ecx, esi
call fcn.0044bb30
mov eax, dword [esi + 0x1c]
push ebx
push eax
lea edx, [eax + 8]
mov dword [esi + 0x1c], edx
call fcn.0044d260
add esp, 8
mov edx, dword [esi + 0x2c]
mov eax, dword [esp + 0x10]
inc edx
inc ebp
cmp ebp, eax
mov eax, dword [esp + 0x58]
mov dword [esi + 0x2c], edx
jb 0x44b532
mov ecx, dword [edi]
mov edx, dword [edi + 4]
mov dword [esp + 0x58], ecx
mov ecx, dword [edi + 8]
mov dword [esp + 0x5c], edx
mov edx, dword [edi + 0xc]
mov dword [esp + 0x60], ecx
push eax
lea ecx, [esp + 0x5c]
mov dword [esp + 0x68], edx
call fcn.0044d090
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x60]
mov esi, dword [esp + 0x64]
mov dword [esp + 0x14], eax
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x5c], ecx
push eax
lea ecx, [esp + 0x5c]
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], esi
mov dword [esp + 0x64], edx
mov dword [esp + 0x68], esi
call fcn.0044d090
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x20]
cmp eax, ecx
mov esi, ecx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], edx
je 0x44b82c
mov ecx, dword [esp + 0x6c]
mov edx, dword [ecx]
mov dword [eax], edx
mov eax, dword [ecx + 4]
mov ecx, dword [esp + 0x3c]
mov dword [ecx + 4], eax
lea ecx, [esp + 0x34]
call fcn.0044d3e0
mov eax, dword [esp + 0x3c]
cmp eax, esi
jne 0x44b66c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret 0x18
xor ebp, ebp
test ebx, ebx
jbe 0x44b6eb
mov edx, edi
mov ecx, dword [edx]
mov dword [esp + 0x44], ecx
mov ecx, dword [edx + 4]
mov dword [esp + 0x48], ecx
mov ecx, dword [edx + 8]
mov dword [esp + 0x4c], ecx
mov ecx, ebp
mov edx, dword [edx + 0xc]
sub ecx, ebx
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0x10]
add ecx, edx
lea edx, [esp + 0x34]
add ecx, eax
push ecx
push edx
lea ecx, [esp + 0x4c]
call fcn.0044c9f0
mov eax, dword [eax + 8]
mov ecx, esi
push eax
call fcn.0044b840
mov eax, dword [esp + 0x58]
inc ebp
cmp ebp, ebx
jb 0x44b69f
mov ecx, dword [edi]
mov edx, dword [edi + 4]
mov dword [esp + 0x58], ecx
mov ecx, dword [edi + 8]
mov dword [esp + 0x5c], edx
mov edx, dword [edi + 0xc]
mov dword [esp + 0x60], ecx
push eax
lea ecx, [esp + 0x5c]
mov dword [esp + 0x68], edx
call fcn.0044d090
mov esi, dword [esp + 0x64]
mov ecx, dword [esp + 0x5c]
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x60]
mov dword [esp + 0x20], esi
mov dword [esp + 0x64], esi
mov esi, dword [esp + 0x10]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x5c], ecx
push esi
lea ecx, [esp + 0x5c]
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], edx
mov dword [esp + 0x5c], eax
mov dword [esp + 0x64], edx
call fcn.0044d090
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x5c]
sub esp, 0x10
mov eax, esp
push ebx
mov dword [eax], ecx
mov ecx, dword [esp + 0x74]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x78]
mov dword [eax + 8], ecx
lea ecx, [esp + 0x48]
mov dword [eax + 0xc], edx
lea eax, [esp + 0x58]
push eax
push esi
push ecx
lea ecx, [esp + 0x34]
call fcn.0044c9f0
mov ecx, eax
call fcn.0044bc90
mov ecx, dword [eax]
sub esp, 0x10
mov edx, esp
sub esp, 0x10
mov dword [edx], ecx
mov ecx, dword [eax + 4]
mov dword [edx + 4], ecx
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [edx + 8], ecx
mov ecx, esp
mov dword [edx + 0xc], eax
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x48]
mov dword [ecx], edx
mov edx, dword [esp + 0x4c]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x50]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
lea ecx, [esp + 0x54]
push ecx
call fcn.0044d1d0
mov edx, dword [esp + 0xa0]
add esp, 0x34
lea eax, [esp + 0x58]
lea ecx, [esp + 0x14]
push edx
push ebx
push eax
call fcn.0044c9f0
mov edx, dword [eax]
sub esp, 0x10
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
sub esp, 0x10
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x38]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x3c]
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [esp + 0x40]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x44]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
call fcn.0044d100
add esp, 0x24
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret 0x18