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

Disassembly:
sub esp, 0x3c
mov eax, dword [0x5c0078]
xor eax, esp
mov dword [esp + 0x38], eax
push ebx
mov ebx, dword [esp + 0x4c]
push ebp
push esi
mov esi, dword [esp + 0x4c]
push edi
mov edi, dword [esp + 0x54]
mov dword [esp + 0x20], edi
push dword [esi + 0x78]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x1c], 0
mov byte [esp + 0x17], 0
mov byte [esp + 0x16], 0
call fcn.004cd170
push dword [esi + 0x78]
mov dword [esp + 0x1c], eax
call fcn.004cd190
mov byte [ebx], 0
add esp, 8
mov dword [edi], 0
cmp dword [esi + 0xae8], 0
mov dword [esp + 0x1c], eax
jne 0x4d841f
mov edi, 3
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x38]
xor ecx, esp
call fcn.004351b3
add esp, 0x3c
ret
push esi
call fcn.004d7bf0
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x4d8448
mov edi, 0x1b
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x38]
xor ecx, esp
call fcn.004351b3
add esp, 0x3c
ret
push ebx
push esi
mov dword [edi], ebx
call fcn.004d9ef0
mov edi, eax
add esp, 8
test edi, edi
jne 0x4d8c02
mov eax, dword [esi + 0xa20]
test eax, eax
je 0x4d847c
push eax
call dword [0x5c4834]
add esp, 4
mov dword [ebx + 0x17c], eax
test eax, eax
je 0x4d842e
mov eax, dword [esi + 0xa30]
test eax, eax
je 0x4d849a
push eax
call dword [0x5c4834]
add esp, 4
mov dword [ebx + 0x180], eax
test eax, eax
je 0x4d842e
mov eax, dword [esi + 0xa24]
test eax, eax
je 0x4d84c8
push eax
call dword [0x5c4834]
add esp, 4
mov dword [ebx + 0x584], eax
test eax, eax
je 0x4d842e
mov al, byte [esi + 0xade]
mov byte [ebx + 0x588], al
push ebx
call fcn.004d8d90
mov edi, eax
add esp, 4
test edi, edi
jne 0x4d8c02
mov eax, dword [ebx + 0x2ec]
test byte [eax + 0x44], 1
je 0x4d84f7
cmp byte [ebx + 0x2aa], 0
je 0x4d84f7
mov byte [ebx + 0x2b3], 1
mov eax, dword [esi + 0x5b8]
test eax, eax
je 0x4d8544
cmp byte [esi + 0xff0], 0
je 0x4d8544
movzx eax, ax
push eax
push 0x5994f8
mov dword [ebx + 0x100], eax
lea eax, [esp + 0x40]
push 0x10
push eax
call fcn.004e9410
push 0
lea eax, [esp + 0x4c]
push eax
push 6
push dword [esi + 0xfbc]
call fcn.004ffd50
add esp, 0x20
test eax, eax
jne 0x4d842e
lea eax, [ebx + 0x178]
push eax
lea ecx, [ebx + 0x174]
push ecx
lea ebp, [ebx + 0x170]
push ebp
push ebx
push esi
call fcn.004d95c0
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x4d8c02
mov eax, dword [ebx + 0x2e8]
mov ecx, str.anonymous
mov dword [esp + 0x38], str.ftp_example.com
test byte [eax + 0x44], 0x20
je 0x4d858f
cmp byte [ebx + 0x2ac], 0
je 0x4d8598
mov ecx, 0x598ff5
mov dword [esp + 0x38], ecx
cmp dword [ebp], edi
jne 0x4d85b2
push ecx
call dword [0x5c4834]
add esp, 4
mov dword [ebp], eax
test eax, eax
je 0x4d842e
cmp dword [ebx + 0x174], edi
jne 0x4d85d7
push dword [esp + 0x38]
call dword [0x5c4834]
add esp, 4
mov dword [ebx + 0x174], eax
test eax, eax
mov ecx, 0x1b
cmove edi, ecx
test edi, edi
jne 0x4d8c02
push dword [esi + 0x820]
push ebx
push esi
call fcn.004d99d0
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x4d8c02
lea eax, [ebx + 0x94]
push eax
push ebx
call fcn.004d9540
mov edi, eax
add esp, 8
test edi, edi
jne 0x4d8c02
cmp byte [ebx + 0x2a7], al
je 0x4d8635
lea eax, [ebx + 0xac]
push eax
push ebx
call fcn.004d9540
mov edi, eax
add esp, 8
test edi, edi
jne 0x4d8c02
cmp byte [ebx + 0x2aa], 0
je 0x4d8658
lea eax, [ebx + 0xdc]
push eax
push ebx
call fcn.004d9540
mov edi, eax
add esp, 8
test edi, edi
jne 0x4d8c02
cmp byte [ebx + 0x2ab], 0
je 0x4d867b
lea eax, [ebx + 0xbc]
push eax
push ebx
call fcn.004d9540
mov edi, eax
add esp, 8
test edi, edi
jne 0x4d8c02
cmp byte [ebx + 0x2a7], 0
je 0x4d86a3
push dword [ebx + 0x9c]
push dword [ebx + 0xb4]
call fcn.004de5a0
add esp, 8
test eax, eax
je 0x4d86a3
mov byte [ebx + 0x2a7], 0
mov cl, byte [ebx + 0x2a8]
test cl, cl
je 0x4d86c4
mov eax, dword [ebx + 0x104]
cmp eax, dword [ebx + 0x100]
jne 0x4d86c4
mov byte [ebx + 0x2a8], 0
xor cl, cl
cmp byte [ebx + 0x2a7], 0
jne 0x4d86d1
test cl, cl
je 0x4d86e1
cmp byte [ebx + 0x2aa], 0
je 0x4d86e1
mov byte [ebx + 0x2b3], 1
mov eax, dword [ebx + 0x2e8]
mov edx, eax
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x4d8708
push ebx
call ecx
mov edi, eax
add esp, 4
test edi, edi
jne 0x4d8c02
mov eax, dword [ebx + 0x2e8]
mov edx, eax
cmp dword [ebx + 0xfc], 0
jge 0x4d871a
mov eax, dword [eax + 0x3c]
mov dword [ebx + 0xfc], eax
mov dword [ebx + 0x1d4], 0x4db0a0
mov dword [ebx + 0x1dc], 0x4db1f0
mov dword [ebx + 0x1d8], 0x4db0a0
mov dword [ebx + 0x1e0], 0x4db1f0
mov al, byte [esi + 0xad5]
mov byte [ebx + 0x2c0], al
test byte [edx + 0x44], 0x10
je 0x4d87f4
push ebx
call fcn.004dc2b0
mov eax, dword [ebx + 0x2e8]
lea ecx, [esp + 0x16]
push ecx
push ebx
mov eax, dword [eax + 0x14]
call eax
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x4d87d5
mov byte [ebx + 0x2a2], 1
push ebx
push dword [esi + 0xc88]
call fcn.004d3ef0
mov edi, eax
add esp, 8
test edi, edi
jne 0x4d8c02
push esi
call fcn.004da8c0
mov edi, eax
add esp, 4
test edi, edi
je 0x4d87bb
mov eax, dword [ebx + 0x2e8]
push 0
push edi
push ebx
mov eax, dword [eax + 0xc]
call eax
jmp 0x4d8bff
push ebx
push esi
call fcn.004ccd00
push 0xffffffffffffffff
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
call fcn.004e0b20
add esp, 0x20
push ebx
push esi
call fcn.004d72d0
add esp, 8
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x38]
xor ecx, esp
call fcn.004351b3
add esp, 0x3c
ret
mov eax, dword [esi + 0x9a4]
mov dword [esi + 0x840], eax
mov eax, dword [esi + 0x9a8]
mov dword [esi + 0x898], eax
mov eax, dword [esi + 0x9ac]
mov dword [esi + 0x844], eax
mov eax, dword [esi + 0x9b0]
mov dword [esi + 0x89c], eax
mov eax, dword [esi + 0x9d0]
mov dword [esi + 0x84c], eax
mov dword [esi + 0x8a4], eax
mov eax, dword [esi + 0x9cc]
mov dword [esi + 0x850], eax
mov dword [esi + 0x8a8], eax
mov eax, dword [esi + 0x9bc]
mov dword [esi + 0x854], eax
mov eax, dword [esi + 0x9c0]
mov dword [esi + 0x8ac], eax
mov eax, dword [esi + 0x9c4]
mov dword [esi + 0x858], eax
mov eax, dword [esi + 0x9c8]
mov dword [esi + 0x8b0], eax
mov eax, dword [esi + 0x9b4]
mov dword [esi + 0x85c], eax
mov eax, dword [esi + 0x9b8]
mov dword [esi + 0x8b4], eax
mov eax, dword [esi + 0x9d8]
mov dword [esi + 0x868], eax
mov eax, dword [esi + 0x9dc]
mov dword [esi + 0x8c0], eax
mov eax, dword [esi + 0x9e0]
mov dword [esi + 0x86c], eax
mov eax, dword [esi + 0x9e4]
mov edx, dword [esi + 0x93c]
mov ecx, dword [esi + 0x940]
mov dword [esi + 0x8c4], eax
mov eax, dword [esi + 0x944]
mov dword [esi + 0x87c], eax
mov eax, dword [esi + 0x948]
mov dword [esi + 0x8d4], eax
mov eax, dword [esi + 0x970]
mov dword [esi + 0x880], eax
mov eax, dword [esi + 0x974]
mov dword [esi + 0x8d8], eax
mov eax, dword [esi + 0x980]
mov dword [esi + 0x884], eax
mov eax, dword [esi + 0x984]
mov dword [esi + 0x8dc], eax
mov eax, dword [esi + 0x978]
mov dword [esi + 0x888], eax
mov eax, dword [esi + 0x97c]
mov dword [esi + 0x8e0], eax
lea eax, [ebx + 0x248]
push eax
lea eax, [esi + 0x838]
mov dword [esi + 0x878], edx
push eax
mov dword [esi + 0x8d0], ecx
mov dword [esi + 0x848], edx
mov dword [esi + 0x8a0], ecx
call fcn.004d4bf0
add esp, 8
test al, al
je 0x4d842e
lea eax, [ebx + 0x274]
push eax
lea eax, [esi + 0x890]
push eax
call fcn.004d4bf0
add esp, 8
test al, al
je 0x4d842e
lea eax, [esp + 0x38]
push eax
call fcn.004e18b0
mov edx, dword [esi + 0xc88]
mov edi, eax
sub esp, 0xc
mov ecx, esp
sub esp, 0x10
mov eax, esp
movups xmm0, xmmword [edi]
movups xmmword [esp + 0x48], xmm0
movups xmm0, xmmword [edx + 0x20]
movups xmmword [ecx], xmm0
movups xmm0, xmmword [edi]
movups xmmword [eax], xmm0
call fcn.004e1960
add esp, 0x20
test edx, edx
jl 0x4d8a28
jg 0x4d89c6
cmp eax, 0x3e8
jb 0x4d8a28
push 0x4d7ed0
lea eax, [esp + 0x3c]
mov dword [esp + 0x3c], esi
push eax
push dword [esi + 0xc88]
mov dword [esp + 0x48], 0
push esi
call fcn.004d4490
add esp, 0x10
test al, al
je 0x4d8a19
nop
push 1
push dword [esp + 0x40]
push esi
call fcn.004d70d0
push 0x4d7ed0
lea eax, [esp + 0x48]
push eax
push dword [esi + 0xc88]
push esi
call fcn.004d4490
add esp, 0x1c
test al, al
jne 0x4d89f0
mov eax, dword [esi + 0xc88]
movups xmm0, xmmword [esp + 0x28]
movups xmmword [eax + 0x20], xmm0
cmp byte [esi + 0xac9], 0
je 0x4d8a3e
cmp byte [esi + 0xfed], 0
je 0x4d8b4d
cmp byte [esi + 0xacd], 0
jne 0x4d8b4d
lea eax, [esp + 0x12]
push eax
lea eax, [esp + 0x17]
push eax
lea eax, [esp + 0x20]
push eax
push ebx
push esi
call fcn.004d6350
add esp, 0x14
test al, al
je 0x4d8b4d
cmp byte [esp + 0x13], 0
mov edi, dword [esp + 0x18]
jne 0x4d8ad4
push edi
push esi
call fcn.004d7ba0
add esp, 8
test eax, eax
je 0x4d8ad4
mov eax, dword [edi + 0x37c]
test eax, eax
je 0x4d8ad4
push eax
push dword [edi + 0x48]
push str.Found_connection__ld__with__zu_requests_on_it_n
push esi
call fcn.004daed0
push edi
call fcn.004d4100
mov ebp, dword [esp + 0x28]
add esp, 0x14
cmp eax, ebp
jae 0x4d8ad4
push esi
call fcn.004d4870
add esp, 4
cmp eax, dword [esp + 0x1c]
jae 0x4d8ad4
push str.We_can_reuse__but_we_want_a_new_connection_anyway_n
push esi
call fcn.004daed0
push edi
call fcn.004d46a0
add esp, 0xc
jmp 0x4d8b51
push edi
push ebx
call fcn.004da570
push dword [ebx + 0x244]
call dword [0x5c482c]
push ebx
call dword [0x5c482c]
mov eax, dword [esp + 0x30]
add esp, 0x10
mov ebx, edi
mov dword [eax], edi
cmp dword [edi + 0xc4], 0
je 0x4d8b0a
mov eax, dword [edi + 0xc8]
jmp 0x4d8b21
cmp dword [edi + 0xe4], 0
je 0x4d8b1b
mov eax, dword [edi + 0xe8]
jmp 0x4d8b21
mov eax, dword [edi + 0xa0]
cmp byte [edi + 0x2a9], 0
mov ecx, str.host
push eax
mov eax, str.proxy
cmove eax, ecx
push eax
push dword [edi + 0x48]
push str.Re_using_existing_connection____ld__with__s__s_n
push esi
call fcn.004daed0
add esp, 0x14
jmp 0x4d8cc4
mov ebp, dword [esp + 0x14]
mov eax, dword [ebx + 0x2e8]
test dword [eax + 0x44], 0x100
je 0x4d8b80
cmp byte [esi + 0xad7], 0
je 0x4d8b70
mov byte [ebx + 0x2c2], 1
cmp byte [esi + 0xad6], 0
je 0x4d8b80
mov byte [ebx + 0x2c1], 1
cmp byte [esp + 0x12], 0
jne 0x4d8bdf
lea eax, [esp + 0x18]
push eax
push dword [esi + 0xc88]
push ebx
call fcn.004d43e0
add esp, 0xc
test ebp, ebp
je 0x4d8c17
test eax, eax
je 0x4d8c17
cmp dword [eax + 4], ebp
jb 0x4d8c17
push eax
push esi
call fcn.004d4200
push esi
mov edi, eax
call fcn.004d48b0
add esp, 0xc
test edi, edi
je 0x4d8bcc
push 0
push edi
push esi
call fcn.004d70d0
add esp, 0xc
jmp 0x4d8c20
push ebp
push dword [esp + 0x1c]
push str.No_more_connections_allowed_to_host__s:__zu_n
push esi
call fcn.004daed0
add esp, 0x10
push str.No_connections_available._n
push esi
call fcn.004daed0
push ebx
call fcn.004d7fe0
mov eax, dword [esp + 0x2c]
mov edi, 0x59
mov dword [eax], 0
add esp, 0xc
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x38]
xor ecx, esp
call fcn.004351b3
add esp, 0x3c
ret
push esi
call fcn.004d48b0
add esp, 4
mov ebp, dword [esp + 0x1c]
test ebp, ebp
je 0x4d8c52
push esi
call fcn.004d4870
add esp, 4
cmp eax, ebp
jb 0x4d8c52
push esi
call fcn.004d42b0
add esp, 4
test eax, eax
je 0x4d8d73
push 0
push eax
push esi
call fcn.004d70d0
add esp, 0xc
push ebx
push dword [esi + 0xc88]
call fcn.004d3ef0
mov edi, eax
add esp, 8
test edi, edi
jne 0x4d8c02
test byte [esi + 0xd2c], 0x28
je 0x4d8c93
cmp byte [esi + 0xd34], al
je 0x4d8c93
push str.NTLM_picked_AND_auth_done_set__clear_picked__n
push esi
call fcn.004daed0
add esp, 8
mov dword [esi + 0xd2c], edi
mov byte [esi + 0xd34], 0
test byte [esi + 0xd3c], 0x28
je 0x4d8cc4
cmp byte [esi + 0xd44], 0
je 0x4d8cc4
push str.NTLM_proxy_picked_AND_auth_done_set__clear_picked__n
push esi
call fcn.004daed0
add esp, 8
mov dword [esi + 0xd3c], 0
mov byte [esi + 0xd44], 0
push ebx
push esi
call fcn.004d72d0
push esi
call fcn.004da8c0
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x4d8c02
push dword [esp + 0x24]
mov eax, dword [esi + 0x5d8]
mov dword [ebx + 0x380], eax
mov eax, dword [esi + 0x628]
push ebx
push esi
mov dword [ebx + 0x384], eax
call fcn.004da2e0
mov edi, eax
lea eax, [ebx + 0x94]
push eax
call fcn.004da970
add esp, 0x10
cmp byte [ebx + 0x2aa], 0
je 0x4d8d2a
lea eax, [ebx + 0xdc]
push eax
call fcn.004da970
add esp, 4
cmp byte [ebx + 0x2ab], 0
je 0x4d8d42
lea eax, [ebx + 0xbc]
push eax
call fcn.004da970
add esp, 4
cmp byte [ebx + 0x2a7], 0
je 0x4d8c02
lea eax, [ebx + 0xac]
push eax
call fcn.004da970
mov ecx, dword [esp + 0x4c]
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004351b3
add esp, 0x3c
ret
push str.No_connections_available_in_cache_n
push esi
call fcn.004daed0
add esp, 8
jmp 0x4d8bdf