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

Disassembly:
sub esp, 0x38
mov eax, dword [0x530400]
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.0046f550
push dword [esi + 0x70]
mov dword [esp + 0x30], eax
call fcn.0046f570
mov byte [ebx], 0
add esp, 8
mov dword [edi], 0
cmp dword [esi + 0xc9c], 0
mov dword [esp + 0x2c], eax
jne 0x47969a
mov edi, 3
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x34]
xor ecx, esp
call fcn.004bbaec
add esp, 0x38
ret
push esi
call fcn.004790c0
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x4796c3
mov edi, 0x1b
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x34]
xor ecx, esp
call fcn.004bbaec
add esp, 0x38
ret
push ebx
push esi
mov dword [edi], ebx
call fcn.0047b300
mov edi, eax
add esp, 8
test edi, edi
jne 0x479ea8
mov eax, dword [esi + 0x654]
test eax, eax
je 0x4796f7
push eax
call dword [0x53037c]
add esp, 4
mov dword [ebx + 0x110], eax
test eax, eax
je 0x4796a9
mov eax, dword [esi + 0x640]
test eax, eax
je 0x479721
push eax
call dword [0x53037c]
add esp, 4
mov dword [ebx + 0x4e8], eax
test eax, eax
je 0x4796a9
mov al, byte [esi + 0x736]
mov byte [ebx + 0x277], al
push ebx
push esi
call fcn.0047a0c0
mov edi, eax
add esp, 8
test edi, edi
jne 0x479ea8
mov eax, dword [ebx + 0x2a4]
test byte [eax + 0x4c], 1
je 0x479751
cmp byte [ebx + 0x258], 0
je 0x479751
mov byte [ebx + 0x25b], 1
mov eax, dword [esi + 0x168]
test eax, eax
je 0x47979e
cmp byte [esi + 0xd00], 0
je 0x47979e
movzx eax, ax
push eax
push 0x50ae84
mov dword [ebx + 0xc8], eax
lea eax, [esp + 0x3c]
push 0x10
push eax
call fcn.00481690
push 0
lea eax, [esp + 0x48]
push eax
push 6
push dword [esi + 0xc74]
call fcn.004a6d40
add esp, 0x20
test eax, eax
jne 0x4796a9
push ebx
push esi
call fcn.0047a880
mov edi, eax
add esp, 8
test edi, edi
jne 0x479ea8
mov eax, dword [ebx + 0x2a0]
mov ecx, str.anonymous
mov ebp, str.ftp_example.com
test byte [eax + 0x4c], 0x20
je 0x4797d1
cmp byte [ebx + 0x263], 0
je 0x4797d8
mov ecx, 0x50ae7e
mov ebp, ecx
cmp dword [ebx + 0x104], edi
jne 0x4797f8
push ecx
call dword [0x53037c]
add esp, 4
mov dword [ebx + 0x104], eax
test eax, eax
je 0x4796a9
cmp dword [ebx + 0x108], edi
jne 0x47981a
push ebp
call dword [0x53037c]
add esp, 4
mov dword [ebx + 0x108], eax
test eax, eax
mov ecx, 0x1b
cmove edi, ecx
test edi, edi
jne 0x479ea8
push dword [esi + 0x3e8]
push ebx
push esi
call fcn.0047ac40
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x479ea8
lea eax, [ebx + 0x5c]
push eax
push esi
call fcn.00478860
mov edi, eax
add esp, 8
test edi, edi
jne 0x479ea8
cmp byte [ebx + 0x260], al
je 0x479872
lea eax, [ebx + 0x74]
push eax
push esi
call fcn.00478860
mov edi, eax
add esp, 8
test edi, edi
jne 0x479ea8
cmp byte [ebx + 0x258], 0
je 0x479895
lea eax, [ebx + 0xa4]
push eax
push esi
call fcn.00478860
mov edi, eax
add esp, 8
test edi, edi
jne 0x479ea8
cmp byte [ebx + 0x259], 0
je 0x4798b8
lea eax, [ebx + 0x84]
push eax
push esi
call fcn.00478860
mov edi, eax
add esp, 8
test edi, edi
jne 0x479ea8
cmp byte [ebx + 0x260], 0
je 0x4798da
push dword [ebx + 0x64]
push dword [ebx + 0x7c]
call fcn.00480a60
add esp, 8
test eax, eax
je 0x4798da
mov byte [ebx + 0x260], 0
mov cl, byte [ebx + 0x261]
test cl, cl
je 0x4798fb
mov eax, dword [ebx + 0xcc]
cmp eax, dword [ebx + 0xc8]
jne 0x4798fb
mov byte [ebx + 0x261], 0
xor cl, cl
cmp byte [ebx + 0x260], 0
jne 0x479908
test cl, cl
je 0x479918
cmp byte [ebx + 0x258], 0
je 0x479918
mov byte [ebx + 0x25b], 1
mov eax, dword [ebx + 0x2a0]
mov edx, eax
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x479940
push ebx
push esi
call ecx
mov edi, eax
add esp, 8
test edi, edi
jne 0x479ea8
mov eax, dword [ebx + 0x2a0]
mov edx, eax
cmp dword [ebx + 0xc4], 0
jge 0x479952
mov eax, dword [eax + 0x40]
mov dword [ebx + 0xc4], eax
mov dword [ebx + 0x160], 0x47c5b0
mov dword [ebx + 0x168], 0x47c6f0
mov dword [ebx + 0x164], 0x47c5b0
mov dword [ebx + 0x16c], 0x47c6f0
mov al, byte [esi + 0x72d]
mov byte [ebx + 0x272], al
test byte [edx + 0x4c], 0x10
je 0x479a2b
push 0xffffffffffffffff
push 0
push ebx
push esi
call fcn.0047d840
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 0x479a0c
push ebx
push esi
mov byte [ebx + 0x254], 1
call fcn.0046f060
push esi
call fcn.00474fb0
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x479ea8
push esi
call fcn.0047beb0
mov edi, eax
add esp, 4
test edi, edi
je 0x4799f9
mov eax, dword [ebx + 0x2a0]
push 0
push edi
push esi
mov eax, dword [eax + 0xc]
call eax
jmp 0x479ea5
push 0xffffffffffffffff
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
call fcn.00484a50
add esp, 0x18
push ebx
push esi
call fcn.004788a0
add esp, 8
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x34]
xor ecx, esp
call fcn.004bbaec
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.00475df0
add esp, 8
test al, al
je 0x4796a9
lea eax, [ebx + 0x214]
push eax
lea eax, [esi + 0x474]
push eax
call fcn.00475df0
add esp, 8
test al, al
je 0x4796a9
lea eax, [esp + 0x34]
push eax
call fcn.00485810
add esp, 4
cmp dword [esi + 0x78], 0
movups xmm0, xmmword [eax]
movups xmmword [esp + 0x34], xmm0
je 0x479c3f
push 2
push 5
push esi
call fcn.00481190
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.004858c0
add esp, 0x20
mov ebp, eax
cmp dword [esi + 0x78], 0
mov edi, edx
je 0x479c7b
push 5
push esi
call fcn.004811d0
add esp, 8
test edi, edi
jl 0x479d28
jg 0x479c91
cmp ebp, 0x3e8
jb 0x479d28
push 0x4793b0
lea eax, [esp + 0x24]
mov dword [esp + 0x24], esi
push eax
push dword [esi + 0x8d8]
mov dword [esp + 0x30], 0
push esi
call fcn.004756e0
add esp, 0x10
test al, al
je 0x479cf5
nop word [eax + eax]
push 1
push dword [esp + 0x28]
push esi
call fcn.00475810
push 1
push dword [esp + 0x34]
push esi
call fcn.004785c0
push 0x4793b0
lea eax, [esp + 0x3c]
push eax
push dword [esi + 0x8d8]
push esi
call fcn.004756e0
add esp, 0x28
test al, al
jne 0x479cc0
cmp dword [esi + 0x78], 0
je 0x479d08
push 2
push 5
push esi
call fcn.00481190
add esp, 0xc
mov eax, dword [esi + 0x8d8]
movups xmm0, xmmword [esp + 0x34]
movups xmmword [eax + 0x20], xmm0
cmp dword [esi + 0x78], 0
je 0x479d28
push 5
push esi
call fcn.004811d0
add esp, 8
cmp byte [esi + 0x721], 0
je 0x479d3e
cmp byte [esi + 0xcfd], 0
je 0x479de3
cmp byte [esi + 0x725], 0
jne 0x479de3
lea eax, [esp + 0x13]
push eax
lea eax, [esp + 0x1f]
push eax
lea eax, [esp + 0x1c]
push eax
push ebx
push esi
call fcn.00477660
add esp, 0x14
test al, al
je 0x479de3
mov edi, dword [esp + 0x14]
push edi
push ebx
push esi
call fcn.0047bb80
push dword [ebx + 0x1d0]
call dword [0x530374]
push ebx
call dword [0x530374]
mov eax, dword [esp + 0x30]
mov ebx, edi
add esp, 0x14
mov dword [eax], edi
cmp dword [ebx + 0x8c], 0
je 0x479da3
mov eax, dword [ebx + 0x90]
jmp 0x479db7
cmp dword [ebx + 0xac], 0
je 0x479db4
mov eax, dword [ebx + 0xb0]
jmp 0x479db7
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.0047c430
add esp, 0x14
jmp 0x479f73
mov eax, dword [ebx + 0x2a0]
test dword [eax + 0x4c], 0x100
je 0x479e12
cmp byte [esi + 0x72f], 0
je 0x479e02
mov byte [ebx + 0x274], 1
cmp byte [esi + 0x72e], 0
je 0x479e12
mov byte [ebx + 0x273], 1
cmp byte [esp + 0x13], 0
jne 0x479e85
lea eax, [esp + 0x14]
push eax
push dword [esi + 0x8d8]
push ebx
push esi
call fcn.004755d0
mov ebp, dword [esp + 0x38]
add esp, 0x10
test ebp, ebp
je 0x479ebd
test eax, eax
je 0x479ebd
cmp dword [eax + 4], ebp
jb 0x479ebd
push eax
push esi
call fcn.004753e0
add esp, 8
mov edi, eax
cmp dword [esi + 0x78], 0
je 0x479e60
push 5
push esi
call fcn.004811d0
add esp, 8
test edi, edi
je 0x479e72
push 0
push edi
push esi
call fcn.004785c0
add esp, 0xc
jmp 0x479ece
push ebp
push dword [esp + 0x18]
push str.No_more_connections_allowed_to_host__s:__zu
push esi
call fcn.0047c430
add esp, 0x10
push str.No_connections_available.
push esi
call fcn.0047c430
push ebx
call fcn.004793e0
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.004bbaec
add esp, 0x38
ret
cmp dword [esi + 0x78], 0
je 0x479ece
push 5
push esi
call fcn.004811d0
add esp, 8
mov edi, dword [esp + 0x2c]
test edi, edi
je 0x479f00
push esi
call fcn.00475ac0
add esp, 4
cmp eax, edi
jb 0x479f00
push esi
call fcn.00475490
add esp, 4
test eax, eax
je 0x47a0a6
push 0
push eax
push esi
call fcn.004785c0
add esp, 0xc
push ebx
push esi
call fcn.0046f060
push esi
call fcn.00474fb0
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x479ea8
test byte [esi + 0x9a4], 0x28
je 0x479f42
cmp byte [esi + 0x9ac], al
je 0x479f42
push str.NTLM_picked_AND_auth_done_set__clear_picked_
push esi
call fcn.0047c430
add esp, 8
mov dword [esi + 0x9a4], edi
mov byte [esi + 0x9ac], 0
test byte [esi + 0x9b4], 0x28
je 0x479f73
cmp byte [esi + 0x9bc], 0
je 0x479f73
push str.NTLM_proxy_picked_AND_auth_done_set__clear_picked_
push esi
call fcn.0047c430
add esp, 8
mov dword [esi + 0x9b4], 0
mov byte [esi + 0x9bc], 0
push ebx
push esi
call fcn.004788a0
push esi
call fcn.0047beb0
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x479ea8
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.0047b890
lea edx, [ebx + 0x5c]
add esp, 0xc
mov edi, eax
test edx, edx
je 0x479fde
mov edx, dword [edx + 8]
test edx, edx
je 0x479fde
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x479fc8
sub ecx, esi
je 0x479fde
cmp byte [edx + ecx - 1], 0x2e
jne 0x479fde
mov byte [edx + ecx - 1], al
cmp byte [ebx + 0x258], 0
je 0x47a016
lea edx, [ebx + 0xa4]
test edx, edx
je 0x47a016
mov edx, dword [edx + 8]
test edx, edx
je 0x47a016
mov ecx, edx
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x47a000
sub ecx, esi
je 0x47a016
cmp byte [edx + ecx - 1], 0x2e
jne 0x47a016
mov byte [edx + ecx - 1], al
cmp byte [ebx + 0x259], 0
je 0x47a04b
lea edx, [ebx + 0x84]
test edx, edx
je 0x47a04b
mov edx, dword [edx + 8]
test edx, edx
je 0x47a04b
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x47a035
sub ecx, esi
je 0x47a04b
cmp byte [edx + ecx - 1], 0x2e
jne 0x47a04b
mov byte [edx + ecx - 1], al
cmp byte [ebx + 0x260], 0
je 0x479ea8
lea edx, [ebx + 0x74]
test edx, edx
je 0x479ea8
mov edx, dword [edx + 8]
test edx, edx
je 0x479ea8
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x47a073
sub ecx, esi
je 0x479ea8
cmp byte [edx + ecx - 1], 0x2e
jne 0x479ea8
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.004bbaec
add esp, 0x38
ret
push str.No_connections_available_in_cache
push esi
call fcn.0047c430
add esp, 8
jmp 0x479e85