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

Disassembly:
sub esp, 0x70
mov eax, dword [0x64c00c]
xor eax, esp
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x78]
push ebx
push ebp
push esi
mov esi, dword [esp + 0x80]
xor ebp, ebp
mov dword [esp + 0x14], eax
mov byte [esp + 0xe], 0
mov byte [esp + 0xf], 0
mov dword [esp + 0x24], 0
push edi
test esi, esi
je 0x4c68e0
mov edi, esi
lea ecx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x4c66a2
sub edi, ecx
cmp edi, 0x7a1200
ja 0x4c68e0
lea eax, [edi*2 + 2]
push eax
call dword [0x64c024]
mov ebx, eax
add esp, 4
mov eax, dword [esp + 0x18]
mov dword [eax + 0x28], ebx
test ebx, ebx
je 0x4c6e3b
lea eax, [edi + 1]
add eax, ebx
mov dword [esp + 0x1c], eax
push 0x29
mov byte [eax], 0
lea eax, [esp + 0x40]
push eax
push esi
call fcn.004c51e0
mov edx, dword [esp + 0x98]
add esp, 0xc
mov dword [esp + 0x14], edx
test al, al
je 0x4c6854
lea ebp, [esp + 0x3c]
mov byte [esp + 0x13], 1
lea ecx, [ebp + 1]
mov al, byte [ebp]
inc ebp
test al, al
jne 0x4c6714
lea eax, [esp + 0x3c]
sub ebp, ecx
push str.file
push eax
call fcn.0049cfd0
add esp, 8
test eax, eax
je 0x4c6850
add esi, 5
mov ecx, ebx
sub ecx, esi
nop
mov al, byte [esi]
lea esi, [esi + 1]
mov byte [ecx + esi - 1], al
test al, al
jne 0x4c6740
xor ebp, ebp
push str.file
mov dword [esp + 0x20], ebp
call dword [0x64c030]
mov edi, dword [esp + 0x1c]
add esp, 4
mov dword [edi], eax
test eax, eax
je 0x4c6e3b
mov al, byte [ebx]
cmp al, 0x2f
jne 0x4c699e
cmp byte [ebx + 1], al
jne 0x4c67f5
mov cl, byte [ebx + 2]
add ebx, 2
mov al, cl
cmp cl, 0x2f
je 0x4c67ed
cmp cl, 0x61
jl 0x4c6795
cmp cl, 0x7a
jle 0x4c679d
mov al, cl
sub al, 0x41
cmp al, 0x19
ja 0x4c67bb
mov al, byte [ebx + 1]
cmp al, 0x3a
je 0x4c67a8
cmp al, 0x7c
jne 0x4c67bb
mov dl, byte [ebx + 2]
mov al, cl
cmp dl, 0x2f
je 0x4c67ed
cmp dl, 0x5c
je 0x4c67ed
test dl, dl
je 0x4c67ed
push 0xa
push ebx
push str.localhost_
call fcn.0049d1b0
add esp, 0xc
test eax, eax
jne 0x4c67e7
push 0xa
push ebx
push str.127.0.0.1_
call fcn.0049d1b0
add esp, 0xc
test eax, eax
je 0x4c68e0
mov al, byte [ebx + 9]
add ebx, 9
cmp al, 0x2f
jne 0x4c699e
mov al, byte [ebx + 1]
lea edx, [ebx + 1]
cmp al, 0x61
jl 0x4c6803
cmp al, 0x7a
jle 0x4c680d
sub al, 0x41
cmp al, 0x19
ja 0x4c699e
mov al, byte [ebx + 2]
cmp al, 0x3a
je 0x4c681c
cmp al, 0x7c
jne 0x4c699e
mov al, byte [ebx + 3]
cmp al, 0x2f
je 0x4c682f
cmp al, 0x5c
je 0x4c682f
test al, al
jne 0x4c699e
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4c6834
sub ecx, esi
lea eax, [ecx + 1]
push eax
push edx
push ebx
call fcn.005a5500
add esp, 0xc
jmp 0x4c699e
mov edx, dword [esp + 0x14]
cmp byte [esp + 0x13], 0
mov byte [ebx], 0
je 0x4c68f8
inc esi
xor eax, eax
add esi, ebp
je 0x4c68e0
nop dword [eax]
cmp byte [esi], 0x2f
jne 0x4c6880
cmp eax, 4
jge 0x4c6880
inc eax
add esi, 1
jne 0x4c6870
dec eax
cmp eax, 2
ja 0x4c68e0
lea eax, [esp + 0x3c]
push eax
mov dword [esp + 0x2c], eax
call fcn.00493cd0
add esp, 4
test eax, eax
jne 0x4c68ba
test byte [esp + 0x14], 8
jne 0x4c68ba
pop edi
pop esi
pop ebp
mov eax, 5
pop ebx
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.00483ab6
add esp, 0x70
ret
lea edi, [esp + 0x3c]
lea ecx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x4c68c1
lea eax, [esp + 0x3c]
sub edi, ecx
push 0x5e3cc0
push eax
call fcn.005b62b0
add esp, 8
cmp eax, edi
je 0x4c6916
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.00483ab6
add esp, 0x70
ret
test edx, 0x204
je 0x4c68e0
test dl, 4
mov ebp, str.https
mov eax, 0
cmove ebp, eax
mov dword [esp + 0x28], ebp
jmp 0x4c691a
mov edx, dword [esp + 0x14]
mov al, byte [esi]
mov ecx, esi
test al, al
je 0x4c6936
cmp al, 0x2f
je 0x4c6936
cmp al, 0x3f
je 0x4c6936
cmp al, 0x23
je 0x4c6936
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x4c6922
mov edi, esi
sub edi, ecx
je 0x4c6951
mov ebp, dword [esp + 0x1c]
push edi
push ecx
push ebp
call fcn.005a5500
add esp, 0xc
mov byte [edi + ebp], 0
jmp 0x4c6959
test edx, 0x400
je 0x4c68e0
mov edi, esi
lea ecx, [edi + 1]
nop
mov al, byte [edi]
inc edi
test al, al
jne 0x4c6960
sub edi, ecx
push edi
push esi
push ebx
call fcn.005a5500
mov eax, dword [esp + 0x34]
add esp, 0xc
mov byte [edi + ebx], 0
test eax, eax
je 0x4c699a
push eax
call dword [0x64c030]
mov edi, dword [esp + 0x1c]
add esp, 4
mov dword [edi], eax
test eax, eax
je 0x4c6e3b
jmp 0x4c699e
mov edi, dword [esp + 0x18]
mov esi, ebx
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x4c69a3
push 0x5e3cc0
push ebx
sub esi, ecx
call fcn.005b62b0
add esp, 8
cmp eax, esi
jne 0x4c68e0
test byte [esp + 0x14], 0x80
je 0x4c6ac5
cmp byte [ebx], 0
je 0x4c6ac5
mov ecx, ebx
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4c69e0
sub ecx, edx
lea eax, [ecx + ecx*2]
push eax
call dword [0x64c024]
add esp, 4
mov dword [esp + 0x24], eax
test eax, eax
je 0x4c6e3b
cmp byte [ebx], 0
mov dh, 1
mov byte [esp + 0x12], 1
mov esi, eax
mov edi, ebx
je 0x4c6ab9
cmp edi, ebx
jae 0x4c6a23
mov al, byte [edi]
mov byte [esi], al
jmp 0x4c6aaa
mov dl, byte [edi]
cmp dl, 0x20
je 0x4c6a95
xor ecx, ecx
movzx eax, dh
cmp dl, 0x3f
movzx ebp, dl
push ebp
cmovne ecx, eax
mov byte [esp + 0x27], cl
call fcn.004c70b0
add esp, 4
test eax, eax
jne 0x4c6a84
push ebp
call fcn.004c7150
add esp, 4
test eax, eax
jne 0x4c6a84
push ebp
call fcn.004c70f0
add esp, 4
test eax, eax
jne 0x4c6a84
movzx eax, byte [edi]
push eax
push str.___02x
push 4
push esi
call fcn.004aa7d0
mov dh, byte [esp + 0x33]
mov eax, 3
add esp, 0x10
add esi, eax
jmp 0x4c6aab
mov al, byte [edi]
mov dh, byte [esp + 0x23]
mov byte [esi], al
mov eax, 1
add esi, eax
jmp 0x4c6aab
test dh, dh
je 0x4c6aa7
mov word [esi], 0x3225
mov byte [esi + 2], 0x30
add esi, 3
jmp 0x4c6aab
mov byte [esi], 0x2b
inc esi
inc edi
cmp byte [edi], 0
jne 0x4c6a16
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x18]
mov ebx, eax
mov byte [esi], 0
mov dword [edi + 0x2c], eax
push 0x23
push ebx
call fcn.005a5180
add esp, 8
test eax, eax
je 0x4c6af2
mov byte [eax], 0
inc eax
cmp byte [eax], 0
je 0x4c6af2
push eax
call dword [0x64c030]
add esp, 4
mov dword [edi + 0x24], eax
test eax, eax
je 0x4c6e3b
push 0x3f
push ebx
call fcn.005a5180
add esp, 8
test eax, eax
je 0x4c6b1a
mov byte [eax], 0
inc eax
push eax
call dword [0x64c030]
add esp, 4
mov dword [edi + 0x20], eax
test eax, eax
je 0x4c6e3b
cmp byte [ebx], 0
je 0x4c6bb3
test byte [esp + 0x14], 0x10
jne 0x4c6b8e
push ebx
call fcn.004d0200
mov esi, eax
add esp, 4
test esi, esi
je 0x4c6e3b
mov edx, ebx
mov ecx, esi
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4c6b61
test al, al
je 0x4c6b5d
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4c6b61
add ecx, 2
add edx, 2
test al, al
jne 0x4c6b41
xor eax, eax
jmp 0x4c6b66
sbb eax, eax
or eax, 1
test eax, eax
je 0x4c6b84
cmp byte [esp + 0x12], 0
je 0x4c6b7d
push dword [edi + 0x2c]
call dword [0x64c028]
add esp, 4
mov ebx, esi
mov dword [edi + 0x2c], esi
jmp 0x4c6ba1
push esi
call dword [0x64c028]
add esp, 4
cmp byte [esp + 0x12], 0
jne 0x4c6ba1
push ebx
call dword [0x64c030]
add esp, 4
mov ebx, eax
mov dword [edi + 0x1c], ebx
test ebx, ebx
je 0x4c6e3b
mov dword [edi + 0x2c], 0
mov ebp, dword [esp + 0x1c]
test ebp, ebp
je 0x4c6f50
mov esi, ebp
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x4c6bc4
push 0x5e3cc0
push ebp
sub esi, ecx
call fcn.005b62b0
add esp, 8
cmp eax, esi
jne 0x4c68e0
xor edi, edi
push 0x40
push ebp
mov dword [esp + 0x24], edi
mov dword [esp + 0x34], edi
mov dword [esp + 0x2c], edi
call fcn.005a5180
mov esi, eax
add esp, 8
mov ebx, ebp
test esi, esi
je 0x4c6cb6
mov edi, dword [esp + 0x18]
inc esi
mov ebp, esi
mov eax, dword [edi]
test eax, eax
je 0x4c6c31
push eax
call fcn.00493cd0
add esp, 4
test eax, eax
je 0x4c6c31
test dword [eax + 0x4c], 0x400
je 0x4c6c31
lea eax, [esp + 0x24]
jmp 0x4c6c33
xor eax, eax
push eax
lea eax, [esp + 0x30]
sub esi, ebx
push eax
lea eax, [esp + 0x24]
dec esi
push eax
push esi
push ebx
call fcn.004949b0
add esp, 0x14
test eax, eax
mov eax, dword [esp + 0x1c]
je 0x4c6c5a
mov edi, 3
jmp 0x4c6cba
mov ebx, dword [esp + 0x14]
test eax, eax
je 0x4c6c71
test bl, 0x20
je 0x4c6c6e
mov edi, 8
jmp 0x4c6cbe
mov dword [edi + 4], eax
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x4c6c7c
mov dword [edi + 8], eax
mov eax, dword [esp + 0x24]
test eax, eax
je 0x4c6c87
mov dword [edi + 0xc], eax
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x16]
push eax
push str.__45_0123456789abcdefABCDEF:.__c_n
push ebp
call fcn.0048e340
add esp, 0x10
cmp eax, 1
jne 0x4c6d49
mov al, byte [esp + 0x12]
cmp al, 0x5d
jne 0x4c6cf5
mov esi, dword [esp + 0x14]
jmp 0x4c6d34
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
push eax
call dword [0x64c028]
push dword [esp + 0x30]
call dword [0x64c028]
push dword [esp + 0x2c]
call dword [0x64c028]
add esp, 0xc
test edi, edi
je 0x4c6c87
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.00483ab6
add esp, 0x70
ret
cmp al, 0x25
jne 0x4c68e0
mov esi, dword [esp + 0x14]
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x16]
push eax
lea eax, [esi + ebp]
push str._____c_n
push eax
call fcn.0048e340
add esp, 0x10
cmp eax, 1
jne 0x4c68e0
cmp byte [esp + 0x12], 0x5d
jne 0x4c68e0
add esi, dword [esp + 0x14]
add esi, ebp
test esi, esi
je 0x4c6d79
mov al, byte [esi]
test al, al
je 0x4c6d79
cmp al, 0x3a
je 0x4c6d5a
jmp 0x4c68e0
push 0x3a
push ebp
call fcn.005a5180
mov esi, eax
add esp, 8
test esi, esi
je 0x4c6d79
mov al, byte [esi + 1]
lea edi, [esi + 1]
test al, al
jne 0x4c6dc9
mov byte [esi], al
movzx eax, byte [esp + 0x13]
xor eax, 1
shl eax, 2
test eax, eax
jne 0x4c68e5
mov edi, dword [esp + 0x18]
mov ecx, ebp
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4c6d82
sub ecx, edx
jne 0x4c6d95
test ebx, 0x400
jne 0x4c6da7
push ebp
push edi
call fcn.004c62f0
add esp, 8
test eax, eax
jne 0x4c68e5
push 0x11
lea eax, [esp + 0x6c]
push eax
push ebp
call fcn.004c6480
add esp, 0xc
test al, al
je 0x4c6e6b
lea eax, [esp + 0x68]
push eax
jmp 0x4c6e6c
movzx eax, al
push eax
call fcn.004c70d0
add esp, 4
test eax, eax
je 0x4c6e53
push 0xa
lea eax, [esp + 0x34]
push eax
push edi
call fcn.005b6d04
mov edi, eax
add esp, 0xc
lea ecx, [edi - 1]
cmp ecx, 0xfffe
ja 0x4c6e53
mov eax, dword [esp + 0x30]
cmp byte [eax], 0
jne 0x4c6e53
push edi
mov byte [esi], 0
push 0x5dd87c
mov byte [eax], 0
lea eax, [esp + 0x3c]
push 7
push eax
call fcn.004aa7d0
mov eax, dword [esp + 0x28]
mov dword [eax + 0x30], edi
lea eax, [esp + 0x44]
push eax
call dword [0x64c030]
mov edi, dword [esp + 0x2c]
add esp, 0x14
mov dword [edi + 0x18], eax
test eax, eax
jne 0x4c6d7d
pop edi
pop esi
pop ebp
mov eax, 7
pop ebx
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.00483ab6
add esp, 0x70
ret
pop edi
pop esi
pop ebp
mov eax, 4
pop ebx
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.00483ab6
add esp, 0x70
ret
push ebp
call dword [0x64c030]
add esp, 4
mov dword [edi + 0x10], eax
test eax, eax
je 0x4c6e3b
test ebx, 0x200
je 0x4c6f50
cmp dword [esp + 0x28], 0
jne 0x4c6f50
push 4
push ebp
push str.ftp.
call fcn.0049d1b0
add esp, 0xc
test eax, eax
je 0x4c6eb1
mov ecx, 0x5dc40c
jmp 0x4c6f3c
push 5
push ebp
push str.dict.
call fcn.0049d1b0
add esp, 0xc
test eax, eax
je 0x4c6ecc
mov ecx, str.dict
jmp 0x4c6f3c
push 5
push ebp
push str.ldap.
call fcn.0049d1b0
add esp, 0xc
test eax, eax
je 0x4c6ee7
mov ecx, str.ldap
jmp 0x4c6f3c
push 5
push ebp
push str.imap.
call fcn.0049d1b0
add esp, 0xc
test eax, eax
je 0x4c6f02
mov ecx, str.imap
jmp 0x4c6f3c
push 5
push ebp
push str.smtp.
call fcn.0049d1b0
add esp, 0xc
test eax, eax
je 0x4c6f1d
mov ecx, str.smtp
jmp 0x4c6f3c
push 5
push ebp
push str.pop3.
call fcn.0049d1b0
add esp, 0xc
mov ecx, str.pop3
test eax, eax
mov edx, 0x5da758
cmove ecx, edx
push ecx
call dword [0x64c030]
add esp, 4
mov dword [edi], eax
test eax, eax
je 0x4c6e3b
push dword [edi + 0x28]
call dword [0x64c028]
push dword [edi + 0x2c]
mov dword [edi + 0x28], 0
call dword [0x64c028]
mov ecx, dword [esp + 0x84]
add esp, 8
mov dword [edi + 0x2c], 0
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00483ab6
add esp, 0x70
ret