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

Disassembly:
sub esp, 0x64
mov eax, dword [0x46e36c]
xor eax, esp
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x6c]
push ebx
push ebp
mov ebp, dword [esp + 0x70]
push esi
push edi
mov dword [esp + 0x14], eax
lea eax, [esp + 0x34]
push 0x7a1200
push eax
mov dword [esp + 0x24], ebp
call fcn.004132e0
mov esi, ebp
add esp, 8
lea ecx, [esi + 1]
nop dword [eax]
mov al, byte [esi]
inc esi
test al, al
jne 0x446a50
sub esi, ecx
cmp esi, 0x7a1200
ja 0x447095
push 0x467f7c
push ebp
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcspn]
add esp, 8
cmp eax, esi
jne 0x447095
mov ebx, dword [esp + 0x80]
test ebx, 0x800
jne 0x446a9e
push 0x20
push ebp
call sub.VCRUNTIME140.dll_strchr
add esp, 8
test eax, eax
jne 0x447095
mov edi, ebx
and edi, 0x204
setne al
movzx eax, al
push eax
push 0x29
lea eax, [esp + 0x4c]
push eax
push ebp
call fcn.00444f50
add esp, 0x10
mov dword [esp + 0x20], eax
test eax, eax
je 0x446cac
mov ecx, str.file
lea eax, [esp + 0x44]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x446af2
test dl, dl
je 0x446aee
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x446af2
add eax, 2
add ecx, 2
test dl, dl
jne 0x446ad2
xor eax, eax
jmp 0x446af7
sbb eax, eax
or eax, 1
test eax, eax
jne 0x446c55
mov byte [esp + 0x13], al
cmp esi, 6
ja 0x446b12
mov esi, 0x13
jmp 0x44709a
lea edi, [ebp + 5]
push str.file
mov dword [esp + 0x1c], edi
lea ebx, [esi - 5]
call dword [0x46e00c]
mov ebp, dword [esp + 0x18]
add esp, 4
mov dword [ebp], eax
test eax, eax
je 0x446e1e
cmp byte [edi], 0x2f
jne 0x446c02
cmp byte [edi + 1], 0x2f
jne 0x446c02
mov al, byte [edi + 2]
add edi, 2
cmp al, 0x2f
je 0x446bf3
cmp al, 0x61
jl 0x446b62
cmp al, 0x7a
jle 0x446b68
sub al, 0x41
cmp al, 0x19
ja 0x446b82
mov al, byte [edi + 1]
cmp al, 0x3a
je 0x446b73
cmp al, 0x7c
jne 0x446b82
mov al, byte [edi + 2]
cmp al, 0x2f
je 0x446bf3
cmp al, 0x5c
je 0x446bf3
test al, al
je 0x446bf3
push 0xa
push str.localhost_
push edi
call fcn.004213f0
add esp, 0xc
test eax, eax
jne 0x446bf0
push 0xa
push str.127.0.0.1_
push edi
call fcn.004213f0
add esp, 0xc
test eax, eax
jne 0x446bf0
push str._:____
push edi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strpbrk]
add esp, 8
test eax, eax
je 0x446b08
cmp byte [eax], 0x2f
jne 0x446b08
sub eax, edi
je 0x446bea
push eax
lea eax, [esp + 0x38]
push edi
push eax
call fcn.004132a0
add esp, 0xc
test eax, eax
jne 0x446e1e
mov byte [esp + 0x13], 1
mov edi, dword [esp + 0x18]
jmp 0x446bf3
add edi, 9
mov ebx, esi
sub ebx, edi
add ebx, dword [esp + 0x1c]
cmp byte [esp + 0x13], 0
jne 0x446c0f
lea eax, [esp + 0x34]
push eax
call fcn.00413320
add esp, 4
cmp byte [edi], 0x2f
jne 0x446e4f
mov al, byte [edi + 1]
cmp al, 0x61
jl 0x446c23
cmp al, 0x7a
jle 0x446c2d
sub al, 0x41
cmp al, 0x19
ja 0x446e4f
mov al, byte [edi + 2]
cmp al, 0x3a
je 0x446c3c
cmp al, 0x7c
jne 0x446e4f
mov al, byte [edi + 3]
cmp al, 0x2f
je 0x446c4f
cmp al, 0x5c
je 0x446c4f
test al, al
jne 0x446e4f
inc edi
jmp 0x446e4f
inc ebp
xor edi, edi
add ebp, dword [esp + 0x20]
cmp byte [ebp], 0x2f
jne 0x446c6f
cmp edi, 4
jge 0x446c6f
inc ebp
inc edi
cmp byte [ebp], 0x2f
je 0x446c62
lea ebx, [esp + 0x44]
mov eax, ebx
mov dword [esp + 0x18], ebx
push 0xffffffffffffffff
push eax
call fcn.00418d20
add esp, 8
test eax, eax
jne 0x446c9a
test byte [esp + 0x80], 8
jne 0x446c9a
lea esi, [eax + 5]
jmp 0x44709a
lea eax, [edi - 1]
cmp eax, 2
jbe 0x446cd0
mov esi, 0x1c
jmp 0x44709a
test edi, edi
jne 0x446cb8
lea esi, [edi + 0x1b]
jmp 0x44709a
test bl, 4
mov eax, 0
mov ebx, str.https
cmove ebx, eax
mov dword [esp + 0x18], ebx
test ebx, ebx
je 0x446ce8
push ebx
call dword [0x46e00c]
mov ecx, dword [esp + 0x18]
add esp, 4
mov dword [ecx], eax
test eax, eax
je 0x446e1e
push 0x468038
push ebp
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcspn]
mov ecx, eax
mov ebx, esi
add esp, 8
lea edi, [ecx + ebp]
sub ebx, edi
add ebx, dword [esp + 0x1c]
test ecx, ecx
je 0x446e28
cmp dword [esp + 0x20], 0
setne al
movzx eax, al
push eax
lea eax, [esp + 0x38]
push eax
push dword [esp + 0x88]
push ecx
push ebp
mov ebp, dword [esp + 0x28]
push ebp
call fcn.004466d0
mov esi, eax
add esp, 0x18
test esi, esi
jne 0x44709a
test dword [esp + 0x80], 0x200
je 0x446e4f
cmp dword [esp + 0x18], eax
jne 0x446e4f
lea eax, [esp + 0x34]
push eax
call fcn.00413310
push 4
mov esi, eax
push str.ftp.
push esi
call fcn.004213f0
add esp, 0x10
test eax, eax
je 0x446d82
mov ecx, 0x460f14
jmp 0x446e0d
push 5
push str.dict.
push esi
call fcn.004213f0
add esp, 0xc
test eax, eax
je 0x446d9d
mov ecx, str.dict
jmp 0x446e0d
push 5
push str.ldap.
push esi
call fcn.004213f0
add esp, 0xc
test eax, eax
je 0x446db8
mov ecx, str.ldap
jmp 0x446e0d
push 5
push str.imap.
push esi
call fcn.004213f0
add esp, 0xc
test eax, eax
je 0x446dd3
mov ecx, str.imap
jmp 0x446e0d
push 5
push str.smtp.
push esi
call fcn.004213f0
add esp, 0xc
test eax, eax
je 0x446dee
mov ecx, str.smtp
jmp 0x446e0d
push 5
push str.pop3.
push esi
call fcn.004213f0
add esp, 0xc
mov ecx, str.pop3
test eax, eax
mov edx, str.http
cmove ecx, edx
push ecx
call dword [0x46e00c]
add esp, 4
mov dword [ebp], eax
test eax, eax
jne 0x446e4f
mov esi, 7
jmp 0x44709a
test dword [esp + 0x80], 0x400
je 0x44708e
lea eax, [esp + 0x34]
push 0x45e419
push eax
call fcn.00413250
add esp, 8
test eax, eax
jne 0x446e1e
push 0x23
push edi
call sub.VCRUNTIME140.dll_strchr
mov esi, eax
add esp, 8
test esi, esi
je 0x446ed6
mov ebp, ebx
sub ebp, esi
add ebp, edi
cmp ebp, 1
jbe 0x446ed4
test byte [esp + 0x80], 0x80
lea eax, [esi + 1]
je 0x446ebb
lea eax, [esp + 0x24]
push 0x7a1200
push eax
call fcn.004132e0
push 0
push 1
push ebp
lea eax, [esi + 1]
push eax
lea eax, [esp + 0x3c]
push eax
call fcn.00447140
add esp, 0x1c
test eax, eax
jne 0x446e1e
lea eax, [esp + 0x24]
push eax
call fcn.00413310
mov ecx, dword [esp + 0x18]
add esp, 4
mov dword [ecx + 0x24], eax
jmp 0x446ed4
push ebp
push eax
call fcn.0041caa0
mov ecx, dword [esp + 0x1c]
add esp, 8
mov dword [ecx + 0x24], eax
test eax, eax
je 0x446e1e
sub ebx, ebp
push ebx
push 0x3f
push edi
call sub.VCRUNTIME140.dll_memchr
mov ebp, eax
add esp, 0xc
test ebp, ebp
je 0x446f99
test esi, esi
je 0x446ef4
sub esi, ebp
jmp 0x446efa
mov esi, ebx
sub esi, ebp
add esi, edi
sub ebx, esi
cmp esi, 1
jbe 0x446f78
test byte [esp + 0x80], 0x80
je 0x446f51
lea eax, [esp + 0x24]
push 0x7a1200
push eax
call fcn.004132e0
push 1
push 1
lea eax, [esi - 1]
push eax
lea eax, [ebp + 1]
push eax
lea eax, [esp + 0x3c]
push eax
call fcn.00447140
add esp, 0x1c
test eax, eax
jne 0x446e1e
lea eax, [esp + 0x24]
push eax
call fcn.00413310
mov esi, dword [esp + 0x18]
add esp, 4
mov dword [esi + 0x20], eax
jmp 0x446f9d
lea eax, [ebp + 1]
push esi
push eax
call fcn.0041caa0
mov ecx, eax
add esp, 8
mov eax, dword [esp + 0x14]
mov dword [eax + 0x20], ecx
test ecx, ecx
je 0x446e1e
mov byte [ecx + esi - 1], 0
mov esi, eax
jmp 0x446f9d
push 0x45e419
call dword [0x46e00c]
mov esi, dword [esp + 0x18]
add esp, 4
mov dword [esi + 0x20], eax
test eax, eax
jne 0x446f9d
lea esi, [eax + 7]
jmp 0x44709a
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x80]
test ebx, ebx
je 0x446ffb
test al, al
jns 0x446ffb
lea eax, [esp + 0x24]
push 0x7a1200
push eax
call fcn.004132e0
push 0
push 1
push ebx
lea eax, [esp + 0x38]
push edi
push eax
call fcn.00447140
add esp, 0x1c
test eax, eax
jne 0x446e1e
lea eax, [esp + 0x24]
push eax
call fcn.00413300
mov ebx, eax
lea eax, [esp + 0x28]
push eax
call fcn.00413310
mov edi, eax
add esp, 8
mov eax, dword [esp + 0x80]
mov dword [esi + 0x1c], edi
cmp ebx, 1
jbe 0x447069
mov ecx, dword [esi + 0x1c]
test ecx, ecx
jne 0x44702f
lea eax, [ebx + 1]
push eax
push edi
call fcn.0041caa0
add esp, 8
mov dword [esi + 0x1c], eax
test eax, eax
je 0x446e1e
mov byte [eax + ebx], 0
mov edi, dword [esi + 0x1c]
mov eax, dword [esp + 0x80]
jmp 0x447037
test al, al
jns 0x447037
mov byte [ecx + ebx], 0
test al, 0x10
jne 0x447069
lea eax, [esp + 0x18]
push eax
push ebx
push edi
call fcn.00446000
add esp, 0xc
test eax, eax
jne 0x446e1e
mov edi, dword [esp + 0x18]
test edi, edi
je 0x447069
push dword [esi + 0x1c]
call dword [0x46e004]
add esp, 4
mov dword [esi + 0x1c], edi
lea eax, [esp + 0x34]
push eax
call fcn.00413310
add esp, 4
mov dword [esi + 0x10], eax
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.0045b78a
add esp, 0x64
ret
mov esi, 0xe
jmp 0x44709a
mov esi, 3
lea eax, [esp + 0x34]
push eax
call fcn.004132b0
push dword [esp + 0x18]
call fcn.00446270
mov ecx, dword [esp + 0x78]
add esp, 8
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0045b78a
add esp, 0x64
ret