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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xb8
mov esi, dword [ecx]
test esi, esi
je 0x44df4a
mov eax, ecx
lea ecx, [esp + 8]
push dword [eax + 0x18]
mov dword [esp + 8], eax
call fcn.00550e3a
mov dword [esp + 0x20], esi
sub esi, dword [esp + 8]
mov ebx, esi
sar ebx, 0x1f
mov dword [esp + 0x98], esi
mov dword [esp + 0x9c], ebx
lea ecx, [esp + 8]
mov eax, dword [esp + 4]
push dword [eax + 0x18]
call fcn.00550e3a
mov edx, dword [esp + 4]
mov eax, dword [esp + 0xc]
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], 0
sub eax, esi
mov ecx, 0
sbb ecx, ebx
mov esi, dword [edx + 8]
mov edi, esi
cmp eax, esi
mov esi, dword [edx + 0xc]
sbb ecx, esi
lea ebx, [edx + 8]
jae 0x44df58
mov ecx, dword [edx + 0x1c]
mov dword [esp + 0xa0], str.unable_to_read_data_at_0x
lea eax, [esp + 0x98]
mov dword [esp + 0xa8], eax
mov word [esp + 0xb0], 0xe03
lea eax, [esp + 0xa0]
mov dword [esp + 0x28], eax
mov dword [esp + 0x30], str._of_size_0x
mov word [esp + 0x38], 0x302
lea eax, [esp + 0x28]
mov dword [esp + 0x50], eax
mov dword [esp + 0x58], ebx
mov word [esp + 0x60], 0xe02
lea eax, [esp + 0x50]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x44], 0x558815
mov word [esp + 0x4c], 0x302
mov eax, dword [edx + 0x2c]
mov edx, dword [edx + 0x30]
lea esi, [esp + 0x3c]
mov dword [esp + 0x64], esi
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], edx
mov word [esp + 0x74], 0x502
lea eax, [esp + 0x64]
mov dword [esp + 0x78], eax
mov dword [esp + 0x80], str._:_it_goes_past_the_end_of_the_file_of_size_0x
mov word [esp + 0x88], 0x302
lea eax, [esp + 0x78]
mov dword [esp + 8], eax
lea eax, [esp + 0x90]
mov dword [esp + 0x10], eax
mov word [esp + 0x18], 0xe02
lea eax, [esp + 8]
push eax
call fcn.0053aad0
mov esi, dword [esp + 0x20]
xor edi, edi
mov eax, esi
mov edx, edi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp + 0x8c], ebx
mov ecx, esi
mov dword [esp + 0x24], edi
shld ecx, edi, 0x1e
mov ebx, esi
shr ebx, 2
mov edi, ecx
add edi, ebx
adc edi, 0
mov eax, edi
mov edx, 0xaaaaaaab
mul edx
shr edx, 1
lea eax, [edx + edx*2]
sub edi, eax
sub ecx, edi
sbb ebx, 0
mov eax, ecx
mov edx, 0xaaaaaaab
mul edx
mov edi, eax
imul eax, ecx, 0xaaaaaaaa
add eax, edx
imul ecx, ebx, 0xaaaaaaab
add ecx, eax
mov edx, 0xc
mov eax, edi
mul edx
lea ecx, [ecx + ecx*2]
lea ecx, [edx + ecx*4]
mov edx, dword [esp + 4]
mov ebx, dword [esp + 0x24]
sub ebx, eax
sbb esi, ecx
or esi, ebx
jne 0x44dfd8
mov eax, dword [edx + 0x10]
xor eax, 0xc
or eax, dword [edx + 0x14]
jne 0x44dfd8
mov esi, dword [esp + 0x20]
jmp 0x44df4c
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x58], 0
movzx ecx, byte [edx + 0x20]
mov eax, ecx
and al, 1
mov esi, dword [esp + 0x20]
je 0x44e00e
mov ecx, dword [edx + 0x24]
lea ebx, [esp + 8]
test ecx, ecx
jne 0x44e01c
jmp 0x44e0f9
shr ecx, 1
lea ebx, [esp + 8]
test ecx, ecx
je 0x44e0f9
lea ebx, [ecx + 5]
cmp ebx, 0xfffffff0
jae 0x44e28d
cmp ebx, 0xa
ja 0x44e04f
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
add bl, bl
mov byte [esp + 8], bl
xor edi, edi
jmp 0x44e089
mov eax, ebx
or eax, 0xf
mov dword [esp + 0x24], eax
inc eax
push eax
mov esi, ecx
call sub.libc.dll_operator_new_unsigned_int_
mov ecx, esi
mov edx, dword [esp + 8]
add esp, 4
mov edi, eax
mov eax, dword [esp + 0x24]
add eax, 2
mov dword [esp + 8], eax
mov esi, eax
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], ebx
movzx eax, byte [edx + 0x20]
and al, 1
mov ebx, esi
test bl, 1
lea esi, [esp + 9]
cmove edi, esi
test al, al
je 0x44e09c
mov eax, dword [edx + 0x28]
jmp 0x44e09f
lea eax, [edx + 0x21]
push ecx
push eax
push edi
mov ebx, ecx
call sub.msvcrt.dll_memmove
add esp, 0xc
mov dword [edi + ebx], 0x73616820
mov word [edi + ebx + 4], 0x20
movzx eax, byte [esp + 8]
test al, 1
je 0x44e0cd
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
jmp 0x44e0cf
shr eax, 1
lea ecx, [esp + 0x50]
push eax
push esi
call fcn.00550f3c
test byte [esp + 8], 1
lea ebx, [esp + 8]
je 0x44e0f1
push dword [esp + 0x10]
call sub.libc.dll_operator_delete_void_
add esp, 4
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 4]
mov word [esp + 0x4c], 0x503
mov dword [esp + 0x3c], str.invalid
mov eax, dword [edx + 0x2c]
mov dword [esp + 0x44], eax
mov eax, dword [edx + 0x30]
mov dword [esp + 0x48], eax
lea eax, [esp + 0x3c]
mov dword [esp + 0x64], eax
mov dword [esp + 0x6c], str.__0x
mov word [esp + 0x74], 0x302
lea eax, [esp + 0x64]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x80], eax
mov word [esp + 0x88], 0xe02
lea edi, [esp + 0x78]
mov dword [esp + 8], edi
mov dword [esp + 0x10], 0x5580d8
mov word [esp + 0x18], 0x302
lea ecx, [esp + 0x28]
push ebx
call fcn.00550b46
movzx eax, byte [esp + 0x28]
test al, 1
je 0x44e181
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
jmp 0x44e187
shr eax, 1
lea edx, [esp + 0x29]
lea ecx, [esp + 0x50]
push eax
push edx
call fcn.00550f3c
test byte [esp + 0x28], 1
je 0x44e1a5
push dword [esp + 0x30]
call sub.libc.dll_operator_delete_void_
add esp, 4
mov edx, dword [esp + 4]
mov eax, dword [edx + 0x38]
test eax, eax
je 0x44e259
mov word [esp + 0x4c], 0x503
mov dword [esp + 0x3c], str._or
mov ecx, dword [edx + 0x34]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], eax
lea eax, [esp + 0x3c]
mov dword [esp + 0x64], eax
lea eax, [esp + 0x64]
mov dword [esp + 0x78], eax
lea eax, [edx + 0x10]
mov dword [esp + 0x80], eax
mov dword [esp + 8], edi
mov dword [esp + 0x6c], str.__0x
mov word [esp + 0x74], 0x302
mov word [esp + 0x88], 0xe02
mov dword [esp + 0x10], 0x5580d8
mov word [esp + 0x18], 0x302
lea ecx, [esp + 0x28]
push ebx
call fcn.00550b46
movzx eax, byte [esp + 0x28]
test al, 1
je 0x44e231
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
jmp 0x44e237
shr eax, 1
lea edx, [esp + 0x29]
lea ecx, [esp + 0x50]
push eax
push edx
call fcn.00550f3c
test byte [esp + 0x28], 1
je 0x44e255
push dword [esp + 0x30]
call sub.libc.dll_operator_delete_void_
add esp, 4
mov edx, dword [esp + 4]
mov ecx, dword [edx + 0x1c]
mov word [esp + 0x18], 0x104
lea eax, [esp + 0x50]
mov dword [esp + 8], eax
push ebx
call fcn.0053aad0
test byte [esp + 0x50], 1
je 0x44df4a
push dword [esp + 0x58]
call sub.libc.dll_operator_delete_void_
add esp, 4
jmp 0x44df4a
lea ecx, [esp + 8]
call fcn.00407790
int3