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

Disassembly:
sub esp, 0x54
push ebp
mov ebp, ecx
mov eax, dword [ebp + 0x228]
test eax, eax
mov dword [esp + 4], ebp
jne 0x44f92d
xor eax, eax
pop ebp
add esp, 0x54
ret 0x1c
push ebx
mov ecx, ebp
call fcn.004475d0
mov ebx, eax
test ebx, ebx
jne 0x44f983
mov eax, dword [ebp + 0x228]
test eax, eax
jne 0x44f959
mov ecx, ebp
call fcn.00444d90
pop ebx
mov eax, 1
pop ebp
add esp, 0x54
ret 0x1c
cmp dword [ebp + 0x1ac], 0x4000
jne 0x44f976
mov eax, dword [ebp + 0x18c]
mov ecx, dword [eax]
push 0
push eax
call dword [ecx + 0x80]
pop ebx
mov eax, 1
pop ebp
add esp, 0x54
ret 0x1c
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x64]
push esi
mov esi, dword [ebp + 0x228]
test esi, esi
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
jne 0x44f9a3
mov eax, dword [ebp + 0x78]
jmp 0x44f9a9
mov eax, dword [ebp + 0x1c0]
test esi, esi
mov dword [esp + 0x18], eax
jne 0x44f9b6
mov eax, dword [ebp + 0x7c]
jmp 0x44f9bc
mov eax, dword [ebp + 0x1bc]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x74]
push edi
mov edi, dword [eax + 0x14]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x80]
lea eax, [esp + 0x14]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x60], ecx
push eax
mov ecx, ebp
mov dword [esp + 0x28], edi
mov dword [esp + 0x5c], edx
call fcn.004470d0
test eax, eax
jne 0x44fa2c
mov ecx, ebp
call fcn.00447640
pop edi
pop esi
pop ebx
mov eax, 1
pop ebp
add esp, 0x54
ret 0x1c
test esi, esi
jne 0x44fa39
mov edi, dword [ebp + 0x74]
mov dword [esp + 0x68], edi
jmp 0x44fa45
mov ecx, dword [ebp + 0x1c4]
mov dword [esp + 0x68], ecx
mov edi, ecx
cmp esi, 0x378
ja 0x44fc15
je 0x44fb98
sub esi, 0x22b
je 0x44fb06
sub esi, 0xa
jne 0x44fc95
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x40]
add ecx, eax
cmp eax, ecx
mov edx, eax
mov dword [esp + 0x6c], edx
mov dword [esp + 0x70], ecx
jge 0x44fc95
mov esi, dword [esp + 0x3c]
mov ecx, dword [esp + 0x2c]
lea ebp, [esi + ecx]
mov esi, edi
imul esi, eax
add esi, ebx
lea ebx, [ebx]
mov eax, dword [esp + 0x78]
mov eax, dword [eax + 8]
test eax, eax
je 0x44fab0
mov edi, dword [eax + edx*4]
jmp 0x44fab2
xor edi, edi
cmp ecx, ebp
jge 0x44faee
mov al, byte [ecx + edi]
mov bl, al
movzx dx, al
and bl, 0xfc
shr al, 3
movzx bx, bl
movzx ax, al
and edx, 0xfff8
shl edx, 5
or edx, ebx
shl edx, 3
or edx, eax
mov word [esi + ecx*2], dx
inc ecx
cmp ecx, ebp
jl 0x44fab6
mov edx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x2c]
mov edi, dword [esp + 0x68]
mov eax, dword [esp + 0x70]
inc edx
add esi, edi
cmp edx, eax
mov dword [esp + 0x6c], edx
jl 0x44faa0
jmp 0x44fc91
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x40]
add ecx, eax
cmp eax, ecx
mov edx, eax
mov dword [esp + 0x6c], edx
mov dword [esp + 0x70], ecx
jge 0x44fc95
mov esi, dword [esp + 0x3c]
mov ecx, dword [esp + 0x2c]
lea ebp, [esi + ecx]
mov esi, edi
imul esi, eax
add esi, ebx
mov eax, dword [esp + 0x78]
mov eax, dword [eax + 8]
test eax, eax
je 0x44fb44
mov edi, dword [eax + edx*4]
jmp 0x44fb46
xor edi, edi
cmp ecx, ebp
jge 0x44fb80
lea ebx, [ebx]
mov al, byte [ecx + edi]
mov dl, al
and dl, 0xf8
movzx dx, dl
shr al, 3
movzx ax, al
mov ebx, edx
shl ebx, 5
or ebx, edx
shl ebx, 2
or ebx, eax
mov word [esi + ecx*2], bx
inc ecx
cmp ecx, ebp
jl 0x44fb50
mov edx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x2c]
mov edi, dword [esp + 0x68]
mov eax, dword [esp + 0x70]
inc edx
add esi, edi
cmp edx, eax
mov dword [esp + 0x6c], edx
jl 0x44fb34
jmp 0x44fc91
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x40]
add edx, eax
cmp eax, edx
mov ecx, eax
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], edx
jge 0x44fc95
mov edx, dword [esp + 0x2c]
imul edi, eax
mov esi, dword [esp + 0x3c]
lea ebp, [esi + edx]
add edi, ebx
mov eax, dword [esp + 0x78]
mov eax, dword [eax + 8]
test eax, eax
je 0x44fbd4
mov esi, dword [eax + ecx*4]
jmp 0x44fbd6
xor esi, esi
cmp edx, ebp
mov eax, edx
jge 0x44fc00
lea ecx, [edi + edx*2]
lea ecx, [edx + ecx + 2]
mov bl, byte [eax + esi]
mov byte [ecx - 2], bl
mov bl, byte [eax + esi]
mov byte [ecx - 1], bl
mov bl, byte [eax + esi]
mov byte [ecx], bl
inc eax
add ecx, 3
cmp eax, ebp
jl 0x44fbe3
mov ecx, dword [esp + 0x6c]
mov esi, dword [esp + 0x68]
mov eax, dword [esp + 0x70]
inc ecx
add edi, esi
cmp ecx, eax
mov dword [esp + 0x6c], ecx
jl 0x44fbc4
jmp 0x44fc91
cmp esi, 0x22b8
jne 0x44fc95
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x40]
add edx, eax
cmp eax, edx
mov ecx, eax
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], edx
jge 0x44fc95
mov edx, dword [esp + 0x2c]
imul edi, eax
mov esi, dword [esp + 0x3c]
lea ebp, [esi + edx]
add edi, ebx
mov eax, dword [esp + 0x78]
mov eax, dword [eax + 8]
test eax, eax
je 0x44fc55
mov esi, dword [eax + ecx*4]
jmp 0x44fc57
xor esi, esi
cmp edx, ebp
mov eax, edx
jge 0x44fc7e
lea ecx, [edi + edx*4 + 2]
mov bl, byte [eax + esi]
mov byte [ecx - 2], bl
mov bl, byte [eax + esi]
mov byte [ecx - 1], bl
mov bl, byte [eax + esi]
mov byte [ecx], bl
inc eax
add ecx, 4
cmp eax, ebp
jl 0x44fc61
mov ecx, dword [esp + 0x6c]
mov esi, dword [esp + 0x68]
mov eax, dword [esp + 0x70]
inc ecx
add edi, esi
cmp ecx, eax
mov dword [esp + 0x6c], ecx
jl 0x44fc45
mov ebp, dword [esp + 0x10]
mov eax, dword [ebp + 0x228]
test eax, eax
jne 0x44fcb2
mov ecx, ebp
call fcn.00444d90
pop edi
pop esi
pop ebx
xor eax, eax
pop ebp
add esp, 0x54
ret 0x1c
cmp dword [ebp + 0x1ac], 0x4000
jne 0x44fccf
mov eax, dword [ebp + 0x18c]
mov ecx, dword [eax]
push 0
push eax
call dword [ecx + 0x80]
pop edi
pop esi
pop ebx
xor eax, eax
pop ebp
add esp, 0x54
ret 0x1c