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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x98
lea esi, [esp + 0x50]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x2c], edx
mov ecx, esi
push 1
push 0x5a7aa2
push dword [ebp + 8]
call fcn.0042ff40
add esp, 0xc
cmp dword [esi], 0
je 0x44d0c4
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x8c]
mov ebx, dword [esp + 0x70]
mov eax, dword [esp + 0x74]
mov edi, ecx
mov dword [esp], ebx
mov ebx, dword [esp + 0x58]
mov esi, edx
mov dword [esp + 4], edx
mov dword [esp + 0x14], eax
mov dword [esp + 0xc], ecx
sub edi, edx
not esi
mov dword [esp + 0x28], edi
mov edi, dword [esp + 0x80]
mov dword [esp + 0x38], esi
mov dword [esp + 0x44], ebx
mov ebx, dword [esp + 0x5c]
mov dword [esp + 0x18], edi
mov edi, dword [esp + 0x84]
mov dword [esp + 0x40], ebx
mov ebx, dword [esp + 0x68]
mov dword [esp + 8], edi
mov edi, dword [esp + 0x88]
mov dword [esp + 0x1c], ebx
mov ebx, dword [esp + 0x78]
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x18]
add esi, edi
mov dword [esp + 0x34], esi
mov esi, dword [esp + 0x10]
add esi, ecx
mov dword [esp + 0x24], esi
cmp ecx, ebx
mov esi, ebx
cmovb esi, ecx
cmp eax, 0xffffffff
cmove esi, ecx
cmove ebx, edx
lea ecx, [esi - 1]
mov dword [esp + 0x48], ebx
mov dword [esp + 0x3c], esi
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp]
mov edi, ecx
sub edi, edx
cmp edi, dword [esp + 8]
jae 0x44d1c5
mov eax, dword [esp + 0x18]
mov dword [esp], ecx
mov cl, byte [eax + edi]
xor eax, eax
xor esi, esi
inc esi
shld eax, esi, cl
shl esi, cl
test cl, 0x20
mov ecx, 0
cmovne eax, esi
cmovne esi, ecx
and eax, dword [esp + 0x40]
and esi, dword [esp + 0x44]
or esi, eax
je 0x44cff6
mov eax, dword [esp + 0x38]
mov ecx, dword [esp]
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x30], edi
lea edx, [eax + ecx]
mov eax, dword [esp + 0x34]
add eax, ecx
mov ecx, esi
sub ecx, 1
jb 0x44d00b
mov edi, dword [esp + 0x4c]
cmp edi, dword [esp + 4]
jae 0x44d1d5
lea edi, [edx + esi]
cmp edi, dword [esp + 8]
jae 0x44d1e3
mov edi, dword [esp + 0x10]
mov bl, byte [edi + esi - 1]
cmp bl, byte [eax + esi]
mov esi, ecx
je 0x44cfa9
mov eax, dword [esp]
mov edx, dword [esp + 4]
add eax, ecx
mov ecx, eax
mov eax, dword [esp + 0x14]
sub ecx, dword [esp + 0xc]
cmp eax, 0xffffffff
je 0x44cf53
jmp 0x44d071
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 4]
mov ecx, edi
cmp eax, 0xffffffff
je 0x44cf53
jmp 0x44d06c
mov eax, dword [esp + 0x28]
mov ecx, dword [esp]
mov edi, dword [esp + 0x24]
mov ebx, dword [esp + 0xc]
mov edx, dword [esp + 4]
add ecx, eax
cmp ebx, dword [esp + 0x48]
jae 0x44d07f
cmp ebx, edx
jae 0x44d1f3
cmp ecx, dword [esp + 8]
jae 0x44d206
mov al, byte [edi]
mov esi, dword [esp + 0x18]
inc edi
inc ebx
cmp al, byte [esi + ecx]
lea ecx, [ecx + 1]
je 0x44d020
mov ecx, dword [esp]
mov eax, dword [esp + 0x14]
sub ecx, dword [esp + 0x1c]
cmp eax, 0xffffffff
je 0x44cf53
mov dword [esp], ecx
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0xc]
jmp 0x44cf31
mov dword [esp], edi
jmp 0x44d074
mov dword [esp], ecx
mov ecx, dword [esp + 0xc]
mov ebx, edx
jmp 0x44cf31
mov edx, dword [esp + 0x30]
inc edx
mov ecx, dword [esp + 0x2c]
mov eax, edx
mov edx, dword [ebp + 8]
push 0x562e28
push eax
call fcn.0044c7f5
pop ecx
pop ecx
mov ecx, eax
mov esi, eax
mov edi, edx
call fcn.00431420
xor ecx, ecx
test al, 1
jne 0x44d1c7
mov ecx, dword [esp + 0x20]
shr eax, 0x10
mov dword [ecx + 4], edi
mov word [ecx + 8], ax
mov ecx, esi
jmp 0x44d1c7
mov eax, dword [esp + 0x84]
mov bl, byte [esp + 0x5e]
mov esi, dword [esp + 0x80]
mov bh, byte [esp + 0x5d]
mov edx, dword [esp + 0x58]
mov dword [esp + 8], eax
test bl, bl
jne 0x44d1c5
mov al, bh
mov edi, edx
mov ecx, edx
mov edx, esi
xor al, 1
mov byte [esp + 0x5d], al
push 0x562868
push dword [esp + 0xc]
call fcn.0044c81b
pop ecx
pop ecx
test edx, edx
je 0x44d1bb
mov cl, byte [eax + edx - 1]
test cl, cl
js 0x44d11f
movzx eax, cl
mov edx, edi
jmp 0x44d17c
mov byte [esp + 4], bh
mov ch, bl
movzx ebx, byte [eax + edx - 2]
cmp bl, 0xc0
jge 0x44d14f
mov dword [esp + 0x10], ebx
movzx ebx, byte [eax + edx - 3]
cmp bl, 0xc0
jge 0x44d158
movzx eax, byte [eax + edx - 4]
and ebx, 0x3f
and eax, 7
shl eax, 6
or ebx, eax
jmp 0x44d15b
and ebx, 0x1f
mov edx, edi
mov eax, ebx
jmp 0x44d169
and ebx, 0xf
mov eax, dword [esp + 0x10]
shl ebx, 6
mov edx, edi
and eax, 0x3f
or eax, ebx
mov bh, byte [esp + 4]
shl eax, 6
and cl, 0x3f
mov bl, ch
mov edi, eax
movzx eax, cl
or eax, edi
test bh, bh
jne 0x44d083
cmp eax, 0x110000
je 0x44d1c5
cmp eax, 0x80
mov ecx, 0xffffffff
jb 0x44d1ae
cmp eax, 0x800
push 0xfffffffffffffffe
pop ecx
jb 0x44d1ae
xor ecx, ecx
cmp eax, 0x10000
setb cl
or ecx, 0xfffffffc
add edx, ecx
mov bh, 1
mov dword [esp + 0x58], edx
jmp 0x44d0e2
test bh, bh
mov edx, edi
jne 0x44d083
xor ecx, ecx
mov eax, dword [esp + 0x20]
mov dword [eax], ecx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov edx, dword [esp + 4]
push 0x56275c
call fcn.00526920
mov edx, dword [esp + 8]
mov ecx, edi
push 0x56276c
call fcn.00526920
mov ecx, dword [esp + 0xc]
cmp ecx, edx
cmovbe ecx, edx
push 0x56273c
call fcn.00526920
mov edx, dword [esp + 8]
push 0x56274c
call fcn.00526920