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

Disassembly:
sub esp, 0x70
mov eax, dword [0x100a5364]
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
push edi
mov dword [esp + 0x10], eax
xor edi, edi
lea eax, [esp + 0x24]
mov byte [esp + 0x17], 0
push 0x7a1200
push eax
mov dword [esp + 0x3c], ebp
call fcn.10015b30
mov ebx, esi
add esp, 8
lea ecx, [ebx + 1]
mov al, byte [ebx]
inc ebx
test al, al
jne 0x100492e5
sub ebx, ecx
cmp ebx, 0x7a1200
jbe 0x10049300
mov edi, 3
jmp 0x10049bd7
mov eax, dword [esp + 0x8c]
and eax, 0x204
mov dword [esp + 0x1c], eax
setne al
movzx eax, al
push eax
push 0x29
lea eax, [esp + 0x58]
push eax
push esi
call fcn.100478c0
add esp, 0x10
mov dword [esp + 0x20], eax
test eax, eax
je 0x1004952e
mov ecx, str.file
lea eax, [esp + 0x50]
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10049360
test dl, dl
je 0x1004935c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10049360
add eax, 2
add ecx, 2
test dl, dl
jne 0x10049340
xor eax, eax
jmp 0x10049365
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100494bc
cmp ebx, 6
ja 0x1004937c
mov edi, 0x13
jmp 0x10049bd7
add esi, 5
push str.file
mov ebx, esi
call dword [0x100a5068]
mov ecx, eax
add esp, 4
mov eax, dword [esp + 0x10]
mov dword [esp + 0x1c], ecx
mov dword [eax], ecx
test ecx, ecx
je 0x10049bd2
cmp byte [esi], 0x2f
jne 0x10049464
cmp byte [esi + 1], 0x2f
jne 0x10049464
mov al, byte [esi + 2]
add esi, 2
cmp al, 0x2f
je 0x1004945d
cmp al, 0x61
jl 0x100493cc
cmp al, 0x7a
jle 0x100493d2
sub al, 0x41
cmp al, 0x19
ja 0x100493ec
mov al, byte [esi + 1]
cmp al, 0x3a
je 0x100493dd
cmp al, 0x7c
jne 0x100493ec
mov al, byte [esi + 2]
cmp al, 0x2f
je 0x1004945d
cmp al, 0x5c
je 0x1004945d
test al, al
je 0x1004945d
push 0xa
push str.localhost_
push esi
call fcn.10023820
add esp, 0xc
test eax, eax
jne 0x100494b7
push 0xa
push str.127.0.0.1_
push esi
call fcn.10023820
add esp, 0xc
test eax, eax
jne 0x100494b7
push str._:____
push esi
call fcn.1006e820
add esp, 8
test eax, eax
je 0x10049372
cmp byte [eax], 0x2f
jne 0x10049372
sub eax, esi
je 0x1004945b
push eax
lea eax, [esp + 0x28]
push esi
push eax
call fcn.10015af0
add esp, 0xc
test eax, eax
jne 0x10049bd2
mov byte [esp + 0x17], 1
mov esi, ebx
cmp byte [esp + 0x17], 0
jne 0x10049471
lea eax, [esp + 0x24]
push eax
call fcn.10015b70
add esp, 4
cmp byte [esi], 0x2f
jne 0x100495b2
mov al, byte [esi + 1]
cmp al, 0x61
jl 0x10049485
cmp al, 0x7a
jle 0x1004948f
sub al, 0x41
cmp al, 0x19
ja 0x100495b2
mov al, byte [esi + 2]
cmp al, 0x3a
je 0x1004949e
cmp al, 0x7c
jne 0x100495b2
mov al, byte [esi + 3]
cmp al, 0x2f
je 0x100494b1
cmp al, 0x5c
je 0x100494b1
test al, al
jne 0x100495b2
inc esi
jmp 0x100495b2
add esi, 9
jmp 0x10049464
inc esi
xor ebx, ebx
add esi, dword [esp + 0x20]
je 0x100494d5
cmp byte [esi], 0x2f
jne 0x100494d5
cmp ebx, 4
jge 0x100494d5
inc ebx
add esi, 1
jne 0x100494c5
lea eax, [esp + 0x50]
push 0xffffffffffffffff
push eax
mov dword [esp + 0x24], eax
call fcn.1001b170
mov ecx, dword [esp + 0x94]
add esp, 8
test eax, eax
jne 0x10049500
test cl, 8
jne 0x10049500
lea edi, [eax + 5]
jmp 0x10049bd7
lea eax, [ebx - 1]
cmp eax, 2
ja 0x10049524
push ecx
lea eax, [esp + 0x54]
push eax
call fcn.10049030
add esp, 8
test al, al
je 0x1004954e
mov edi, 0x1b
jmp 0x10049bd7
mov edi, 0x1c
jmp 0x10049bd7
cmp dword [esp + 0x1c], edi
je 0x1004951a
mov edx, dword [esp + 0x8c]
mov ebx, str.https
test dl, 4
mov eax, edi
cmove ebx, eax
mov dword [esp + 0x1c], ebx
jmp 0x10049559
mov edx, dword [esp + 0x8c]
lea ebx, [esp + 0x50]
mov al, byte [esi]
mov ecx, esi
test al, al
je 0x10049575
cmp al, 0x2f
je 0x10049575
cmp al, 0x3f
je 0x10049575
cmp al, 0x23
je 0x10049575
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x10049561
mov eax, esi
sub eax, ecx
je 0x10049617
push eax
push ecx
lea eax, [esp + 0x2c]
push eax
call fcn.10015af0
add esp, 0xc
test eax, eax
jne 0x10049bd2
test ebx, ebx
je 0x100495b2
push ebx
call dword [0x100a5068]
mov ecx, dword [esp + 0x14]
add esp, 4
mov dword [ecx], eax
test eax, eax
je 0x10049bd2
push 0x23
push esi
call fcn.10061940
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x1004962d
mov ebp, ebx
lea ecx, [ebp + 1]
mov al, byte [ebp]
inc ebp
test al, al
jne 0x100495c8
sub ebp, ecx
mov dword [esp + 0x34], ebp
cmp ebp, 1
jbe 0x1004962d
lea eax, [ebx + 1]
push ebp
push eax
call fcn.1001ef30
mov ecx, eax
add esp, 8
mov eax, dword [esp + 0x10]
mov dword [eax + 0x24], ecx
test ecx, ecx
je 0x10049bd2
push dword [esp + 0x8c]
push ecx
call fcn.10049030
add esp, 8
test al, al
je 0x1004962d
mov edi, 0x14
jmp 0x10049bd7
test edx, 0x400
jne 0x10049596
mov edi, 0xe
jmp 0x10049bd7
push 0x3f
push esi
call fcn.10061940
mov edx, eax
add esp, 8
test edx, edx
je 0x1004974f
test ebx, ebx
je 0x1004964e
cmp edx, ebx
jae 0x1004974f
mov ebp, edx
lea ecx, [ebp + 1]
mov al, byte [ebp]
inc ebp
test al, al
jne 0x10049653
mov ebx, esi
sub ebp, ecx
mov ecx, dword [esp + 0x34]
sub ebp, ecx
lea eax, [ebx + 1]
mov dword [esp + 0x34], eax
nop dword [eax]
mov al, byte [ebx]
inc ebx
test al, al
jne 0x10049670
sub ebx, dword [esp + 0x34]
sub ebx, ebp
sub ebx, ecx
cmp ebp, 1
jbe 0x1004972a
mov eax, dword [esp + 0x8c]
and eax, 0x80
mov dword [esp + 0x34], eax
lea eax, [edx + 1]
mov dword [esp + 0x18], eax
je 0x100496e9
lea eax, [esp + 0x3c]
push 0x7a1200
push eax
call fcn.10015b30
push 1
push 1
lea eax, [ebp - 1]
push eax
push dword [esp + 0x2c]
lea eax, [esp + 0x54]
push eax
call fcn.10049c80
add esp, 0x1c
test eax, eax
jne 0x10049bd2
lea eax, [esp + 0x3c]
push eax
call fcn.10015b60
mov ecx, dword [esp + 0x14]
add esp, 4
mov dword [ecx + 0x20], eax
mov eax, ecx
jmp 0x10049709
push ebp
push eax
call fcn.1001ef30
mov ecx, eax
add esp, 8
mov eax, dword [esp + 0x10]
mov dword [eax + 0x20], ecx
test ecx, ecx
je 0x10049bd2
mov byte [ecx + ebp - 1], 0
mov ebp, dword [esp + 0x8c]
push ebp
push dword [eax + 0x20]
call fcn.10049030
add esp, 8
test al, al
je 0x10049749
mov edi, 0x1a
jmp 0x10049bd7
push 0x1009fa83
call dword [0x100a5068]
mov ecx, dword [esp + 0x14]
add esp, 4
mov dword [ecx + 0x20], eax
test eax, eax
je 0x10049bd2
jmp 0x1004975f
mov eax, dword [esp + 0x34]
jmp 0x10049771
mov ebx, esi
lea ecx, [ebx + 1]
mov al, byte [ebx]
inc ebx
test al, al
jne 0x10049754
sub ebx, ecx
sub ebx, ebp
mov ebp, dword [esp + 0x8c]
mov eax, ebp
and eax, 0x80
mov dword [esp + 0x34], eax
test ebx, ebx
je 0x100497cb
test eax, eax
je 0x100497cb
lea eax, [esp + 0x3c]
push 0x7a1200
push eax
call fcn.10015b30
push 0
push 1
push ebx
lea eax, [esp + 0x50]
push esi
push eax
call fcn.10049c80
add esp, 0x1c
test eax, eax
jne 0x10049bd2
lea eax, [esp + 0x3c]
push eax
call fcn.10015b50
mov ebx, eax
lea eax, [esp + 0x40]
push eax
call fcn.10015b60
mov ecx, dword [esp + 0x18]
mov esi, eax
mov eax, dword [esp + 0x3c]
add esp, 8
mov dword [ecx + 0x1c], esi
jmp 0x100497cf
mov ecx, dword [esp + 0x10]
cmp ebx, 1
jbe 0x10049864
mov edx, dword [ecx + 0x1c]
test edx, edx
jne 0x10049804
lea eax, [ebx + 1]
push eax
push esi
call fcn.1001ef30
mov ecx, dword [esp + 0x18]
add esp, 8
mov dword [ecx + 0x1c], eax
test eax, eax
je 0x10049bd2
mov byte [eax + ebx], 0
mov esi, dword [ecx + 0x1c]
jmp 0x1004980c
test eax, eax
je 0x1004980c
mov byte [edx + ebx], 0
push ebp
push dword [ecx + 0x1c]
call fcn.10049030
add esp, 8
test al, al
je 0x10049826
mov edi, 0x19
jmp 0x10049bd7
test byte [esp + 0x8c], 0x10
jne 0x10049864
lea eax, [esp + 0x18]
push eax
push ebx
push esi
call fcn.10048980
add esp, 0xc
test eax, eax
jne 0x10049bd2
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x10]
test ebx, ebx
je 0x10049868
push dword [esi + 0x1c]
call dword [0x100a5060]
add esp, 4
mov dword [esi + 0x1c], ebx
jmp 0x10049868
mov esi, dword [esp + 0x10]
lea eax, [esp + 0x24]
push eax
call fcn.10015b50
add esp, 4
test eax, eax
je 0x10049baf
mov ebx, dword [esp + 0x8c]
lea eax, [esp + 0x24]
push ebx
push eax
push esi
call fcn.10049080
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x10049bd7
lea eax, [esp + 0x24]
push eax
call fcn.10015b60
mov edi, eax
add esp, 4
cmp byte [edi], 0x5b
jne 0x100498e4
push 0x5d
push edi
call fcn.10061940
mov esi, eax
add esp, 8
test esi, esi
jne 0x100498ca
lea edi, [eax + 0x16]
jmp 0x10049bd7
mov al, byte [esi + 1]
inc esi
test al, al
je 0x10049989
cmp al, 0x3a
je 0x100498f1
mov edi, 4
jmp 0x10049bd7
push 0x3a
push edi
call fcn.10061940
add esp, 8
mov esi, eax
test esi, esi
je 0x10049989
mov eax, esi
sub eax, edi
push eax
lea eax, [esp + 0x28]
push eax
call fcn.10015b90
mov al, byte [esi + 1]
inc esi
add esp, 8
test al, al
jne 0x1004992b
xor eax, eax
mov edi, 4
cmp dword [esp + 0x20], eax
cmovne edi, eax
test edi, edi
jne 0x10049bd7
jmp 0x1004998b
sub al, 0x30
cmp al, 9
ja 0x100498da
push 0xa
lea eax, [esp + 0x1c]
push eax
push esi
call fcn.1006e6ac
mov esi, eax
add esp, 0xc
cmp esi, 0xffff
jg 0x100498da
mov eax, dword [esp + 0x18]
cmp byte [eax], 0
jne 0x100498da
push esi
push 0x1008b8e0
mov byte [eax], 0
lea eax, [esp + 0x3c]
push 7
push eax
call fcn.1002f7e0
mov edi, dword [esp + 0x20]
lea eax, [esp + 0x44]
push eax
mov dword [edi + 0x28], esi
call dword [0x100a5068]
add esp, 0x14
mov dword [edi + 0x18], eax
test eax, eax
je 0x10049bd2
xor edi, edi
lea eax, [esp + 0x24]
push ebx
push eax
call fcn.10015b60
add esp, 4
push eax
call fcn.10049030
add esp, 8
test al, al
je 0x100499b0
mov edi, 0x15
jmp 0x10049bd7
push 0x11
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x2c]
push eax
call fcn.10015b60
add esp, 4
push eax
call fcn.10048e90
add esp, 0xc
test al, al
lea eax, [esp + 0x24]
push eax
je 0x10049a43
call fcn.10015b70
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x2c]
push eax
call fcn.10015aa0
add esp, 0xc
test eax, eax
jne 0x10049bd2
mov ebx, dword [esp + 0x10]
test dword [esp + 0x8c], 0x200
je 0x10049b86
cmp dword [esp + 0x1c], 0
jne 0x10049b86
lea eax, [esp + 0x24]
push eax
call fcn.10015b60
push 4
mov esi, eax
push str.ftp.
push esi
call fcn.10023820
add esp, 0x10
test eax, eax
je 0x10049aeb
mov ecx, 0x1008ad04
jmp 0x10049b76
call fcn.10015b60
mov esi, eax
add esp, 4
cmp byte [esi], 0x5b
je 0x10049ab3
push 0x25
push esi
call fcn.10061940
add esp, 8
test eax, eax
je 0x10049ab3
push 3
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x28]
push eax
push 0
push esi
call fcn.1004a420
add esp, 0x14
test eax, eax
jne 0x100499a6
lea eax, [esp + 0x24]
push eax
call fcn.10015b70
push dword [esp + 0x1c]
lea eax, [esp + 0x2c]
push dword [esp + 0x28]
push eax
call fcn.10015af0
push dword [esp + 0x30]
mov esi, eax
call dword [0x100a5060]
add esp, 0x14
test esi, esi
jne 0x10049bd2
lea eax, [esp + 0x24]
push eax
call fcn.10015b50
add esp, 4
push eax
lea eax, [esp + 0x28]
push eax
call fcn.10015b60
mov ebx, dword [esp + 0x18]
add esp, 4
push eax
push ebx
call fcn.10048ca0
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x10049bd7
jmp 0x100499f9
push 5
push str.dict.
push esi
call fcn.10023820
add esp, 0xc
test eax, eax
je 0x10049b06
mov ecx, str.dict
jmp 0x10049b76
push 5
push str.ldap.
push esi
call fcn.10023820
add esp, 0xc
test eax, eax
je 0x10049b21
mov ecx, str.ldap
jmp 0x10049b76
push 5
push str.imap.
push esi
call fcn.10023820
add esp, 0xc
test eax, eax
je 0x10049b3c
mov ecx, str.imap
jmp 0x10049b76
push 5
push str.smtp.
push esi
call fcn.10023820
add esp, 0xc
test eax, eax
je 0x10049b57
mov ecx, str.smtp
jmp 0x10049b76
push 5
push str.pop3.
push esi
call fcn.10023820
add esp, 0xc
mov ecx, str.pop3
test eax, eax
mov edx, str.http
cmove ecx, edx
push ecx
call dword [0x100a5068]
add esp, 4
mov dword [ebx], eax
test eax, eax
je 0x10049bd2
lea eax, [esp + 0x24]
push eax
call fcn.10015b60
mov ecx, dword [esp + 0x14]
add esp, 4
mov dword [ecx + 0x10], eax
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.1005e116
add esp, 0x70
ret
test dword [esp + 0x8c], 0x400
je 0x10049b86
lea eax, [esp + 0x24]
push 0x1009fa83
push eax
call fcn.10015aa0
add esp, 8
test eax, eax
je 0x10049b86
mov edi, 7
lea eax, [esp + 0x24]
push eax
call fcn.10015b00
push dword [esp + 0x14]
call fcn.10048c30
mov ecx, dword [esp + 0x84]
add esp, 8
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1005e116
add esp, 0x70
ret