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

Disassembly:
sub esp, 0x38
mov eax, dword [0x5293c0]
xor eax, esp
mov dword [esp + 0x34], eax
push ebx
mov ebx, dword [esp + 0x48]
push ebp
push esi
mov esi, dword [esp + 0x48]
push edi
mov edi, dword [esp + 0x50]
mov dword [esp + 0x1c], edi
push dword [esi + 0x70]
mov dword [esp + 0x34], ebx
mov dword [esp + 0x18], 0
mov byte [esp + 0x17], 0
call fcn.004697c0
push dword [esi + 0x70]
mov dword [esp + 0x30], eax
call fcn.004697e0
mov byte [ebx], 0
add esp, 8
mov dword [edi], 0
cmp dword [esi + 0xc9c], 0
mov dword [esp + 0x2c], eax
jne 0x47390a
mov edi, 3
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x34]
xor ecx, esp
call fcn.004b5d2c
add esp, 0x38
ret
push esi
call fcn.00473330
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x473933
mov edi, 0x1b
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x34]
xor ecx, esp
call fcn.004b5d2c
add esp, 0x38
ret
push ebx
push esi
mov dword [edi], ebx
call fcn.00475570
mov edi, eax
add esp, 8
test edi, edi
jne 0x474118
mov eax, dword [esi + 0x654]
test eax, eax
je 0x473967
push eax
call dword [0x52933c]
add esp, 4
mov dword [ebx + 0x110], eax
test eax, eax
je 0x473919
mov eax, dword [esi + 0x640]
test eax, eax
je 0x473991
push eax
call dword [0x52933c]
add esp, 4
mov dword [ebx + 0x4e8], eax
test eax, eax
je 0x473919
mov al, byte [esi + 0x736]
mov byte [ebx + 0x277], al
push ebx
push esi
call fcn.00474330
mov edi, eax
add esp, 8
test edi, edi
jne 0x474118
mov eax, dword [ebx + 0x2a4]
test byte [eax + 0x4c], 1
je 0x4739c1
cmp byte [ebx + 0x258], 0
je 0x4739c1
mov byte [ebx + 0x25b], 1
mov eax, dword [esi + 0x168]
test eax, eax
je 0x473a0e
cmp byte [esi + 0xd00], 0
je 0x473a0e
movzx eax, ax
push eax
push 0x5040b4
mov dword [ebx + 0xc8], eax
lea eax, [esp + 0x3c]
push 0x10
push eax
call fcn.0047b900
push 0
lea eax, [esp + 0x48]
push eax
push 6
push dword [esi + 0xc74]
call fcn.004a0f90
add esp, 0x20
test eax, eax
jne 0x473919
push ebx
push esi
call fcn.00474af0
mov edi, eax
add esp, 8
test edi, edi
jne 0x474118
mov eax, dword [ebx + 0x2a0]
mov ecx, str.anonymous
mov ebp, str.ftp_example.com
test byte [eax + 0x4c], 0x20
je 0x473a41
cmp byte [ebx + 0x263], 0
je 0x473a48
mov ecx, 0x5040ae
mov ebp, ecx
cmp dword [ebx + 0x104], edi
jne 0x473a68
push ecx
call dword [0x52933c]
add esp, 4
mov dword [ebx + 0x104], eax
test eax, eax
je 0x473919
cmp dword [ebx + 0x108], edi
jne 0x473a8a
push ebp
call dword [0x52933c]
add esp, 4
mov dword [ebx + 0x108], eax
test eax, eax
mov ecx, 0x1b
cmove edi, ecx
test edi, edi
jne 0x474118
push dword [esi + 0x3e8]
push ebx
push esi
call fcn.00474eb0
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x474118
lea eax, [ebx + 0x5c]
push eax
push esi
call fcn.00472ad0
mov edi, eax
add esp, 8
test edi, edi
jne 0x474118
cmp byte [ebx + 0x260], al
je 0x473ae2
lea eax, [ebx + 0x74]
push eax
push esi
call fcn.00472ad0
mov edi, eax
add esp, 8
test edi, edi
jne 0x474118
cmp byte [ebx + 0x258], 0
je 0x473b05
lea eax, [ebx + 0xa4]
push eax
push esi
call fcn.00472ad0
mov edi, eax
add esp, 8
test edi, edi
jne 0x474118
cmp byte [ebx + 0x259], 0
je 0x473b28
lea eax, [ebx + 0x84]
push eax
push esi
call fcn.00472ad0
mov edi, eax
add esp, 8
test edi, edi
jne 0x474118
cmp byte [ebx + 0x260], 0
je 0x473b4a
push dword [ebx + 0x64]
push dword [ebx + 0x7c]
call fcn.0047acd0
add esp, 8
test eax, eax
je 0x473b4a
mov byte [ebx + 0x260], 0
mov cl, byte [ebx + 0x261]
test cl, cl
je 0x473b6b
mov eax, dword [ebx + 0xcc]
cmp eax, dword [ebx + 0xc8]
jne 0x473b6b
mov byte [ebx + 0x261], 0
xor cl, cl
cmp byte [ebx + 0x260], 0
jne 0x473b78
test cl, cl
je 0x473b88
cmp byte [ebx + 0x258], 0
je 0x473b88
mov byte [ebx + 0x25b], 1
mov eax, dword [ebx + 0x2a0]
mov edx, eax
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x473bb0
push ebx
push esi
call ecx
mov edi, eax
add esp, 8
test edi, edi
jne 0x474118
mov eax, dword [ebx + 0x2a0]
mov edx, eax
cmp dword [ebx + 0xc4], 0
jge 0x473bc2
mov eax, dword [eax + 0x40]
mov dword [ebx + 0xc4], eax
mov dword [ebx + 0x160], 0x476820
mov dword [ebx + 0x168], 0x476960
mov dword [ebx + 0x164], 0x476820
mov dword [ebx + 0x16c], 0x476960
mov al, byte [esi + 0x72d]
mov byte [ebx + 0x272], al
test byte [edx + 0x4c], 0x10
je 0x473c9b
push 0xffffffffffffffff
push 0
push ebx
push esi
call fcn.00477ab0
mov eax, dword [ebx + 0x2a0]
lea ecx, [esp + 0x23]
push ecx
push esi
mov eax, dword [eax + 0x14]
call eax
mov edi, eax
add esp, 0x18
test edi, edi
jne 0x473c7c
push ebx
push esi
mov byte [ebx + 0x254], 1
call fcn.004692d0
push esi
call fcn.0046f220
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x474118
push esi
call fcn.00476120
mov edi, eax
add esp, 4
test edi, edi
je 0x473c69
mov eax, dword [ebx + 0x2a0]
push 0
push edi
push esi
mov eax, dword [eax + 0xc]
call eax
jmp 0x474115
push 0xffffffffffffffff
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
call fcn.0047ecc0
add esp, 0x18
push ebx
push esi
call fcn.00472b10
add esp, 8
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x34]
xor ecx, esp
call fcn.004b5d2c
add esp, 0x38
ret
mov eax, dword [esi + 0x59c]
mov dword [esi + 0x410], eax
mov eax, dword [esi + 0x5a4]
mov dword [esi + 0x414], eax
mov eax, dword [esi + 0x5d8]
mov dword [esi + 0x418], eax
mov eax, dword [esi + 0x688]
mov dword [esi + 0x43c], eax
mov eax, dword [esi + 0x5b4]
mov dword [esi + 0x428], eax
mov eax, dword [esi + 0x5bc]
mov dword [esi + 0x42c], eax
mov eax, dword [esi + 0x5ac]
mov dword [esi + 0x430], eax
mov eax, dword [esi + 0x678]
mov dword [esi + 0x434], eax
mov eax, dword [esi + 0x690]
mov dword [esi + 0x438], eax
mov eax, dword [esi + 0x668]
mov dword [esi + 0x440], eax
mov eax, dword [esi + 0x5a0]
mov dword [esi + 0x47c], eax
mov eax, dword [esi + 0x5a8]
mov dword [esi + 0x480], eax
mov eax, dword [esi + 0x5b8]
mov dword [esi + 0x494], eax
mov eax, dword [esi + 0x5c0]
mov dword [esi + 0x498], eax
mov eax, dword [esi + 0x5b0]
mov dword [esi + 0x49c], eax
mov eax, dword [esi + 0x67c]
mov dword [esi + 0x4a0], eax
mov eax, dword [esi + 0x694]
mov dword [esi + 0x4a4], eax
mov eax, dword [esi + 0x5dc]
mov dword [esi + 0x484], eax
mov eax, dword [esi + 0x68c]
mov dword [esi + 0x4a8], eax
mov eax, dword [esi + 0x5d4]
mov dword [esi + 0x4b8], eax
mov eax, dword [esi + 0x540]
mov dword [esi + 0x4c4], eax
mov eax, dword [esi + 0x56c]
mov dword [esi + 0x4c8], eax
mov eax, dword [esi + 0x57c]
mov dword [esi + 0x4d0], eax
mov eax, dword [esi + 0x574]
mov dword [esi + 0x4d4], eax
mov eax, dword [esi + 0x538]
mov edx, dword [esi + 0x5c8]
mov ecx, dword [esi + 0x5c4]
mov dword [esi + 0x488], eax
mov eax, dword [esi + 0x684]
mov dword [esi + 0x4cc], eax
mov eax, dword [esi + 0x5d0]
mov dword [esi + 0x44c], eax
mov eax, dword [esi + 0x53c]
mov dword [esi + 0x458], eax
mov eax, dword [esi + 0x568]
mov dword [esi + 0x45c], eax
mov eax, dword [esi + 0x578]
mov dword [esi + 0x464], eax
mov eax, dword [esi + 0x570]
mov dword [esi + 0x468], eax
mov eax, dword [esi + 0x534]
mov dword [esi + 0x41c], eax
mov eax, dword [esi + 0x680]
mov dword [esi + 0x460], eax
lea eax, [ebx + 0x1d4]
push eax
lea eax, [esi + 0x408]
mov dword [esi + 0x420], edx
push eax
mov dword [esi + 0x424], ecx
mov dword [esi + 0x48c], edx
mov dword [esi + 0x490], ecx
call fcn.00470060
add esp, 8
test al, al
je 0x473919
lea eax, [ebx + 0x214]
push eax
lea eax, [esi + 0x474]
push eax
call fcn.00470060
add esp, 8
test al, al
je 0x473919
lea eax, [esp + 0x34]
push eax
call fcn.0047fa80
add esp, 4
cmp dword [esi + 0x78], 0
movups xmm0, xmmword [eax]
movups xmmword [esp + 0x34], xmm0
je 0x473eaf
push 2
push 5
push esi
call fcn.0047b400
add esp, 0xc
mov ecx, dword [esi + 0x8d8]
sub esp, 0x10
mov eax, esp
sub esp, 0x10
movups xmm0, xmmword [ecx + 0x20]
movups xmmword [eax], xmm0
mov eax, esp
movups xmm0, xmmword [esp + 0x54]
movups xmmword [eax], xmm0
call fcn.0047fb30
add esp, 0x20
mov ebp, eax
cmp dword [esi + 0x78], 0
mov edi, edx
je 0x473eeb
push 5
push esi
call fcn.0047b440
add esp, 8
test edi, edi
jl 0x473f98
jg 0x473f01
cmp ebp, 0x3e8
jb 0x473f98
push 0x473620
lea eax, [esp + 0x24]
mov dword [esp + 0x24], esi
push eax
push dword [esi + 0x8d8]
mov dword [esp + 0x30], 0
push esi
call fcn.0046f950
add esp, 0x10
test al, al
je 0x473f65
nop word [eax + eax]
push 1
push dword [esp + 0x28]
push esi
call fcn.0046fa80
push 1
push dword [esp + 0x34]
push esi
call fcn.00472830
push 0x473620
lea eax, [esp + 0x3c]
push eax
push dword [esi + 0x8d8]
push esi
call fcn.0046f950
add esp, 0x28
test al, al
jne 0x473f30
cmp dword [esi + 0x78], 0
je 0x473f78
push 2
push 5
push esi
call fcn.0047b400
add esp, 0xc
mov eax, dword [esi + 0x8d8]
movups xmm0, xmmword [esp + 0x34]
movups xmmword [eax + 0x20], xmm0
cmp dword [esi + 0x78], 0
je 0x473f98
push 5
push esi
call fcn.0047b440
add esp, 8
cmp byte [esi + 0x721], 0
je 0x473fae
cmp byte [esi + 0xcfd], 0
je 0x474053
cmp byte [esi + 0x725], 0
jne 0x474053
lea eax, [esp + 0x13]
push eax
lea eax, [esp + 0x1f]
push eax
lea eax, [esp + 0x1c]
push eax
push ebx
push esi
call fcn.004718d0
add esp, 0x14
test al, al
je 0x474053
mov edi, dword [esp + 0x14]
push edi
push ebx
push esi
call fcn.00475df0
push dword [ebx + 0x1d0]
call dword [0x529334]
push ebx
call dword [0x529334]
mov eax, dword [esp + 0x30]
mov ebx, edi
add esp, 0x14
mov dword [eax], edi
cmp dword [ebx + 0x8c], 0
je 0x474013
mov eax, dword [ebx + 0x90]
jmp 0x474027
cmp dword [ebx + 0xac], 0
je 0x474024
mov eax, dword [ebx + 0xb0]
jmp 0x474027
mov eax, dword [ebx + 0x68]
cmp byte [ebx + 0x262], 0
mov ecx, str.host
push eax
mov eax, str.proxy
cmove eax, ecx
push eax
push dword [ebx + 0x40]
push str.Re_using_existing_connection____ld__with__s__s
push esi
call fcn.004766a0
add esp, 0x14
jmp 0x4741e3
mov eax, dword [ebx + 0x2a0]
test dword [eax + 0x4c], 0x100
je 0x474082
cmp byte [esi + 0x72f], 0
je 0x474072
mov byte [ebx + 0x274], 1
cmp byte [esi + 0x72e], 0
je 0x474082
mov byte [ebx + 0x273], 1
cmp byte [esp + 0x13], 0
jne 0x4740f5
lea eax, [esp + 0x14]
push eax
push dword [esi + 0x8d8]
push ebx
push esi
call fcn.0046f840
mov ebp, dword [esp + 0x38]
add esp, 0x10
test ebp, ebp
je 0x47412d
test eax, eax
je 0x47412d
cmp dword [eax + 4], ebp
jb 0x47412d
push eax
push esi
call fcn.0046f650
add esp, 8
mov edi, eax
cmp dword [esi + 0x78], 0
je 0x4740d0
push 5
push esi
call fcn.0047b440
add esp, 8
test edi, edi
je 0x4740e2
push 0
push edi
push esi
call fcn.00472830
add esp, 0xc
jmp 0x47413e
push ebp
push dword [esp + 0x18]
push str.No_more_connections_allowed_to_host__s:__zu
push esi
call fcn.004766a0
add esp, 0x10
push str.No_connections_available.
push esi
call fcn.004766a0
push ebx
call fcn.00473650
mov eax, dword [esp + 0x28]
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 + 0x34]
xor ecx, esp
call fcn.004b5d2c
add esp, 0x38
ret
cmp dword [esi + 0x78], 0
je 0x47413e
push 5
push esi
call fcn.0047b440
add esp, 8
mov edi, dword [esp + 0x2c]
test edi, edi
je 0x474170
push esi
call fcn.0046fd30
add esp, 4
cmp eax, edi
jb 0x474170
push esi
call fcn.0046f700
add esp, 4
test eax, eax
je 0x474316
push 0
push eax
push esi
call fcn.00472830
add esp, 0xc
push ebx
push esi
call fcn.004692d0
push esi
call fcn.0046f220
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x474118
test byte [esi + 0x9a4], 0x28
je 0x4741b2
cmp byte [esi + 0x9ac], al
je 0x4741b2
push str.NTLM_picked_AND_auth_done_set__clear_picked_
push esi
call fcn.004766a0
add esp, 8
mov dword [esi + 0x9a4], edi
mov byte [esi + 0x9ac], 0
test byte [esi + 0x9b4], 0x28
je 0x4741e3
cmp byte [esi + 0x9bc], 0
je 0x4741e3
push str.NTLM_proxy_picked_AND_auth_done_set__clear_picked_
push esi
call fcn.004766a0
add esp, 8
mov dword [esi + 0x9b4], 0
mov byte [esi + 0x9bc], 0
push ebx
push esi
call fcn.00472b10
push esi
call fcn.00476120
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x474118
push dword [esp + 0x30]
mov eax, dword [esi + 0x184]
mov dword [ebx + 0x304], eax
mov eax, dword [esi + 0x1d8]
push ebx
push esi
mov dword [ebx + 0x308], eax
call fcn.00475b00
lea edx, [ebx + 0x5c]
add esp, 0xc
mov edi, eax
test edx, edx
je 0x47424e
mov edx, dword [edx + 8]
test edx, edx
je 0x47424e
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x474238
sub ecx, esi
je 0x47424e
cmp byte [edx + ecx - 1], 0x2e
jne 0x47424e
mov byte [edx + ecx - 1], al
cmp byte [ebx + 0x258], 0
je 0x474286
lea edx, [ebx + 0xa4]
test edx, edx
je 0x474286
mov edx, dword [edx + 8]
test edx, edx
je 0x474286
mov ecx, edx
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x474270
sub ecx, esi
je 0x474286
cmp byte [edx + ecx - 1], 0x2e
jne 0x474286
mov byte [edx + ecx - 1], al
cmp byte [ebx + 0x259], 0
je 0x4742bb
lea edx, [ebx + 0x84]
test edx, edx
je 0x4742bb
mov edx, dword [edx + 8]
test edx, edx
je 0x4742bb
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4742a5
sub ecx, esi
je 0x4742bb
cmp byte [edx + ecx - 1], 0x2e
jne 0x4742bb
mov byte [edx + ecx - 1], al
cmp byte [ebx + 0x260], 0
je 0x474118
lea edx, [ebx + 0x74]
test edx, edx
je 0x474118
mov edx, dword [edx + 8]
test edx, edx
je 0x474118
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4742e3
sub ecx, esi
je 0x474118
cmp byte [edx + ecx - 1], 0x2e
jne 0x474118
mov byte [edx + ecx - 1], al
mov eax, edi
mov ecx, dword [esp + 0x44]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004b5d2c
add esp, 0x38
ret
push str.No_connections_available_in_cache
push esi
call fcn.004766a0
add esp, 8
jmp 0x4740f5