Function at 0x54dc90
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x68
mov eax, dword [0x65e374]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, ecx
mov dword [ebp - 0x20], 0
mov ecx, dword [ebp + 8]
push esi
push edi
mov eax, dword [ebx + 0x64]
mov edi, edx
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0
mov byte [ebp - 0xd], 0
mov byte [ebp - 5], 1
mov byte [ebp - 0x19], 0
mov byte [ebp - 0x1a], 0
test eax, eax
je 0x54dced
mov ecx, dword [eax + 0xb8]
mov dword [ebp - 0x34], ecx
mov ecx, dword [ebp - 0x38]
jmp 0x54dcf4
mov dword [ebp - 0x34], 0
test eax, eax
je 0x54dd03
mov eax, dword [eax + 0xbc]
mov dword [ebp - 0x3c], eax
jmp 0x54dd0a
mov dword [ebp - 0x3c], 0
mov byte [ecx], 0
cmp dword [ebx + 0x678], 0
jne 0x54dd22
mov edi, 3
xor eax, eax
jmp 0x54dfea
mov ecx, ebx
call fcn.0054b710
mov esi, eax
mov dword [ebp - 0x30], esi
test esi, esi
je 0x54ddcb
mov dword [edi], esi
mov edi, dword [ebx + 0x678]
lea ecx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x54dd41
push dword [ebx + 0x4b10]
sub edi, ecx
mov eax, 0x100
cmp edi, eax
cmovb edi, eax
call dword [0x65ede8]
add esp, 4
mov dword [ebx + 0x4b10], 0
add edi, 2
mov dword [ebx + 0x4b14], 0
push edi
call dword [0x65ede0]
add esp, 4
mov dword [ebx + 0x4b10], eax
test eax, eax
je 0x54ddcb
push edi
mov dword [ebx + 0x4b14], eax
call dword [0x65ede0]
add esp, 4
mov dword [esi + 0x98], eax
test eax, eax
jne 0x54ddd7
push dword [ebx + 0x4b10]
call dword [0x65ede8]
add esp, 4
mov dword [ebx + 0x4b10], 0
mov dword [ebx + 0x4b14], 0
mov edi, 0x1b
xor eax, eax
jmp 0x54dfea
mov dword [esi + 0xa0], eax
push 0x6292df
mov byte [eax], 0
call dword [0x65edec]
add esp, 4
mov dword [ebp - 0x28], eax
push 0x6292df
call dword [0x65edec]
add esp, 4
mov dword [ebp - 0x24], eax
push 0x6292df
call dword [0x65edec]
mov edi, eax
add esp, 4
cmp dword [ebp - 0x28], 0
mov dword [ebp - 0x14], edi
mov dword [ebp - 0xc], edi
je 0x54dfe2
cmp dword [ebp - 0x24], 0
je 0x54dfe2
test edi, edi
je 0x54dfe2
lea eax, [ebp - 0xc]
mov edx, esi
push eax
lea eax, [ebp - 0x24]
mov ecx, ebx
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0xd]
push eax
call fcn.0054ba10
mov edi, eax
add esp, 0x10
test edi, edi
jne 0x54de82
cmp byte [ebp - 0xd], al
je 0x54ded1
mov eax, dword [esi + 0x2a8]
push dword [ebx + 0x678]
push dword [eax]
push str._s:___s
call sym.PayClient.exe_curl_maprintf
add esp, 0xc
mov dword [ebp - 0x18], eax
test eax, eax
jne 0x54de8a
mov edi, 0x1b
mov eax, dword [ebp - 0xc]
jmp 0x54dfea
mov edi, eax
mov al, byte [eax]
cmp al, 0x3a
je 0x54dea9
movzx eax, al
push eax
call fcn.005d78ea
mov byte [edi], al
lea edi, [edi + 1]
mov al, byte [edi]
add esp, 4
cmp al, 0x3a
jne 0x54de92
cmp byte [ebx + 0x67c], 0
je 0x54dec1
push dword [ebx + 0x678]
call dword [0x65ede8]
add esp, 4
mov eax, dword [ebp - 0x18]
mov dword [ebx + 0x678], eax
mov byte [ebx + 0x67c], 1
mov eax, dword [esi + 0x2ac]
test byte [eax + 0x44], 0x40
je 0x54def6
mov eax, dword [esi]
push 0x3f
push dword [eax + 0x4b14]
call fcn.005cf910
add esp, 8
test eax, eax
je 0x54def6
mov byte [eax], 0
mov eax, dword [ebx + 0x5fc]
test eax, eax
je 0x54df18
push eax
call dword [0x65edec]
add esp, 4
mov dword [esi + 0x17c], eax
test eax, eax
je 0x54de7d
mov ecx, esi
call fcn.0054cba0
mov edi, eax
test edi, edi
jne 0x54de82
mov eax, dword [esi + 0x2ac]
test byte [eax + 0x44], 1
je 0x54df45
cmp byte [esi + 0x26a], 0
je 0x54df45
mov byte [esi + 0x275], 1
mov edx, esi
mov ecx, ebx
call fcn.0054d3a0
mov edi, eax
test edi, edi
jne 0x54de82
cmp dword [ebx + 0x5cc], eax
je 0x54df86
push dword [ebp - 0x28]
call dword [0x65ede8]
add esp, 4
push dword [ebx + 0x5cc]
call dword [0x65edec]
add esp, 4
mov dword [ebp - 0x28], eax
test eax, eax
je 0x54de7d
cmp dword [ebx + 0x5d0], 0
je 0x54dfb5
push dword [ebp - 0x24]
call dword [0x65ede8]
add esp, 4
push dword [ebx + 0x5d0]
call dword [0x65edec]
add esp, 4
mov dword [ebp - 0x24], eax
test eax, eax
je 0x54de7d
cmp dword [ebx + 0x5d4], 0
je 0x54e01f
push dword [ebp - 0xc]
call dword [0x65ede8]
add esp, 4
push dword [ebx + 0x5d4]
call dword [0x65edec]
mov edi, eax
add esp, 4
mov dword [ebp - 0x14], edi
test edi, edi
jne 0x54e025
mov edi, 0x1b
mov eax, dword [ebp - 0x14]
push eax
call dword [0x65ede8]
add esp, 4
push dword [ebp - 0x24]
call dword [0x65ede8]
add esp, 4
push dword [ebp - 0x28]
call dword [0x65ede8]
mov ecx, dword [ebp - 4]
add esp, 4
mov eax, edi
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.005b8427
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x14], eax
mov byte [esi + 0x27b], 0
cmp dword [ebx + 0x4f4], 0
je 0x54e07e
push dword [ebx + 0x578]
mov ecx, dword [esi + 0xa0]
lea eax, [ebp - 0x24]
push eax
lea edx, [ebp - 0x28]
call fcn.00566780
add esp, 8
test eax, eax
jle 0x54e06a
push dword [esi + 0xa0]
push str.Couldnt_find_host__s_in_the__netrc_file__using_defaults_n
push ebx
call fcn.00543710
add esp, 0xc
jmp 0x54e07e
js 0x54dfe2
mov byte [esi + 0x27b], 1
mov byte [esi + 0x26c], 1
mov eax, dword [esi + 0x2a8]
xor edi, edi
test byte [eax + 0x44], 0x20
je 0x54e0bf
cmp byte [esi + 0x26c], 0
jne 0x54e0bf
push str.anonymous
call dword [0x65edec]
add esp, 4
mov dword [esi + 0x170], eax
test eax, eax
je 0x54e0e5
push str.ftp_example.com
call dword [0x65edec]
add esp, 4
mov ecx, eax
jmp 0x54e0e7
push dword [ebp - 0x28]
call dword [0x65edec]
add esp, 4
mov dword [esi + 0x170], eax
test eax, eax
je 0x54e0e5
push dword [ebp - 0x24]
call dword [0x65edec]
add esp, 4
mov ecx, eax
jmp 0x54e0e7
xor ecx, ecx
mov eax, esi
mov dword [eax + 0x174], ecx
cmp dword [esi + 0x170], edi
je 0x54e11f
cmp ecx, edi
je 0x54e11f
mov eax, dword [ebp - 0x14]
cmp byte [eax], 0
je 0x54e127
push eax
call dword [0x65edec]
add esp, 4
mov dword [esi + 0x178], eax
test eax, eax
mov ecx, 0x1b
cmove edi, ecx
jmp 0x54e124
mov edi, 0x1b
mov eax, dword [ebp - 0x14]
test edi, edi
jne 0x54dfea
push dword [ebx + 0x3e4]
mov edx, esi
mov ecx, ebx
call fcn.0054d7d0
mov edi, eax
add esp, 4
test edi, edi
jne 0x54dfe7
mov ecx, dword [esi + 0xa0]
mov edx, ecx
mov eax, dword [esi]
mov dword [ebp - 0x18], eax
mov dword [esi + 0xa4], ecx
lea edi, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x54e161
sub edx, edi
je 0x54e17f
lea eax, [ecx - 1]
add eax, edx
cmp byte [eax], 0x2e
jne 0x54e17f
mov byte [eax], 0
mov ecx, dword [esi + 0xa0]
mov al, byte [ecx]
test al, al
je 0x54e1a2
inc ecx
test al, al
js 0x54e192
mov al, byte [ecx]
test al, al
jne 0x54e185
jmp 0x54e1a2
push str.IDN_support_not_present__cant_parse_Unicode_domains_n
push dword [ebp - 0x18]
call fcn.00543710
add esp, 8
cmp byte [esi + 0x267], 0
je 0x54e202
mov ecx, dword [esi + 0xb4]
mov edx, ecx
mov eax, dword [esi]
mov dword [ebp - 0x18], eax
mov dword [esi + 0xb8], ecx
lea edi, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x54e1c1
sub edx, edi
je 0x54e1df
lea eax, [ecx - 1]
add eax, edx
cmp byte [eax], 0x2e
jne 0x54e1df
mov byte [eax], 0
mov ecx, dword [esi + 0xb4]
mov al, byte [ecx]
test al, al
je 0x54e202
inc ecx
test al, al
js 0x54e1f2
mov al, byte [ecx]
test al, al
jne 0x54e1e5
jmp 0x54e202
push str.IDN_support_not_present__cant_parse_Unicode_domains_n
push dword [ebp - 0x18]
call fcn.00543710
add esp, 8
cmp byte [esi + 0x26a], 0
je 0x54e262
mov ecx, dword [esi + 0xe4]
mov edx, ecx
mov eax, dword [esi]
mov dword [ebp - 0x18], eax
mov dword [esi + 0xe8], ecx
lea edi, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x54e221
sub edx, edi
je 0x54e23f
lea eax, [ecx - 1]
add eax, edx
cmp byte [eax], 0x2e
jne 0x54e23f
mov byte [eax], 0
mov ecx, dword [esi + 0xe4]
mov al, byte [ecx]
test al, al
je 0x54e262
inc ecx
test al, al
js 0x54e252
mov al, byte [ecx]
test al, al
jne 0x54e245
jmp 0x54e262
push str.IDN_support_not_present__cant_parse_Unicode_domains_n
push dword [ebp - 0x18]
call fcn.00543710
add esp, 8
cmp byte [esi + 0x26b], 0
je 0x54e2c2
mov ecx, dword [esi + 0xc4]
mov edx, ecx
mov eax, dword [esi]
mov dword [ebp - 0x18], eax
mov dword [esi + 0xc8], ecx
lea edi, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x54e281
sub edx, edi
je 0x54e29f
lea eax, [ecx - 1]
add eax, edx
cmp byte [eax], 0x2e
jne 0x54e29f
mov byte [eax], 0
mov ecx, dword [esi + 0xc4]
mov al, byte [ecx]
test al, al
je 0x54e2c2
inc ecx
test al, al
js 0x54e2b2
mov al, byte [ecx]
test al, al
jne 0x54e2a5
jmp 0x54e2c2
push str.IDN_support_not_present__cant_parse_Unicode_domains_n
push dword [ebp - 0x18]
call fcn.00543710
add esp, 8
mov dl, byte [esi + 0x267]
test dl, dl
je 0x54e2f2
mov ecx, dword [esi + 0xb4]
mov byte [ebp - 0xd], dl
mov edx, dword [esi + 0xa0]
call fcn.00569f00
test eax, eax
je 0x54e2ef
mov byte [esi + 0x267], 0
xor dl, dl
jmp 0x54e2f2
mov dl, byte [ebp - 0xd]
mov cl, byte [esi + 0x268]
test cl, cl
je 0x54e313
mov eax, dword [esi + 0x104]
cmp eax, dword [esi + 0x100]
jne 0x54e313
mov byte [esi + 0x268], 0
xor cl, cl
test dl, dl
jne 0x54e31b
test cl, cl
je 0x54e32b
cmp byte [esi + 0x26a], 0
je 0x54e32b
mov byte [esi + 0x275], 1
mov edi, dword [esi]
push dword [edi + 0x150]
call dword [0x65ede8]
add esp, 4
mov dword [edi + 0x150], 0
push dword [edi + 0x140]
call dword [0x65ede8]
add esp, 4
lea eax, [edi + 0x70]
push 0xe8
push 0
push eax
call fcn.005d05b0
mov dword [edi + 0x80], 0xffffffff
add esp, 0xc
mov dword [edi + 0x84], 0xffffffff
mov eax, dword [esi + 0x2a8]
mov dword [esi + 0x94], 1
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x54e3a9
push esi
call ecx
mov edi, eax
add esp, 4
test edi, edi
jne 0x54dfe7
mov eax, dword [esi + 0x2a8]
cmp dword [esi + 0xfc], 0
jge 0x54e3bb
mov eax, dword [eax + 0x3c]
mov dword [esi + 0xfc], eax
mov dword [esi + 0x1bc], 0x543c20
mov dword [esi + 0x1c4], fcn.00543aa0
mov dword [esi + 0x1c0], 0x543c20
mov dword [esi + 0x1c8], fcn.00543aa0
mov al, byte [ebx + 0x64c]
mov byte [esi + 0x282], al
mov eax, dword [esi + 0x2a8]
test byte [eax + 0x44], 0x10
je 0x54e46d
mov eax, dword [eax + 0x14]
lea ecx, [ebp - 5]
push ecx
push esi
call eax
mov edi, eax
add esp, 8
test edi, edi
jne 0x54e45f
mov dword [esi], ebx
mov edx, esi
mov byte [esi + 0x271], 1
mov ecx, dword [ebx + 0x830]
call fcn.00553390
mov ecx, ebx
call fcn.0054c3f0
mov edi, eax
push 0
test edi, edi
je 0x54e448
mov eax, dword [esi + 0x2a8]
push edi
push esi
mov eax, dword [eax + 0xc]
call eax
add esp, 0xc
jmp 0x54dfe7
push 0xffffffffffffffff
push 0
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
or edx, 0xffffffff
mov ecx, esi
call fcn.005559b0
add esp, 0x18
mov edx, esi
mov ecx, ebx
call fcn.0054ed30
jmp 0x54dfe7
mov eax, dword [ebx + 0x590]
lea edx, [esi + 0x21c]
mov dword [ebx + 0x410], eax
lea ecx, [ebx + 0x404]
mov eax, dword [ebx + 0x594]
mov dword [ebx + 0x464], eax
mov eax, dword [ebx + 0x598]
mov dword [ebx + 0x414], eax
mov eax, dword [ebx + 0x59c]
mov dword [ebx + 0x468], eax
mov eax, dword [ebx + 0x5b4]
mov dword [ebx + 0x41c], eax
mov eax, dword [ebx + 0x5b4]
mov dword [ebx + 0x470], eax
mov eax, dword [ebx + 0x5b0]
mov dword [ebx + 0x420], eax
mov eax, dword [ebx + 0x5b0]
mov dword [ebx + 0x474], eax
mov eax, dword [ebx + 0x5a8]
mov dword [ebx + 0x424], eax
mov eax, dword [ebx + 0x5ac]
mov dword [ebx + 0x478], eax
mov eax, dword [ebx + 0x5bc]
mov dword [ebx + 0x430], eax
mov eax, dword [ebx + 0x5c0]
mov dword [ebx + 0x484], eax
mov eax, dword [ebx + 0x5c4]
mov dword [ebx + 0x434], eax
mov eax, dword [ebx + 0x5c8]
mov dword [ebx + 0x488], eax
mov eax, dword [ebx + 0x528]
mov dword [ebx + 0x444], eax
mov eax, dword [ebx + 0x52c]
mov dword [ebx + 0x498], eax
mov eax, dword [ebx + 0x530]
mov dword [ebx + 0x448], eax
mov eax, dword [ebx + 0x534]
mov dword [ebx + 0x49c], eax
mov eax, dword [ebx + 0x55c]
mov dword [ebx + 0x44c], eax
mov eax, dword [ebx + 0x560]
mov dword [ebx + 0x4a0], eax
mov eax, dword [ebx + 0x56c]
mov dword [ebx + 0x450], eax
mov eax, dword [ebx + 0x570]
mov dword [ebx + 0x4a4], eax
mov eax, dword [ebx + 0x564]
mov dword [ebx + 0x454], eax
mov eax, dword [ebx + 0x568]
mov dword [ebx + 0x4a8], eax
mov eax, dword [ebx + 0x528]
mov dword [ebx + 0x418], eax
mov eax, dword [ebx + 0x52c]
mov dword [ebx + 0x46c], eax
call fcn.0055ded0
test al, al
je 0x54dfe2
lea edx, [esi + 0x240]
lea ecx, [ebx + 0x458]
call fcn.0055ded0
test al, al
je 0x54dfe2
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
xor ebx, ebx
mov eax, 0x10624dd3
mov dword [ebp - 0x64], ebx
mul ecx
push 0
mov eax, edx
shr eax, 6
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x68], eax
imul eax, eax, 0x3e8
push 0x3e8
sub ecx, eax
mov eax, dword [ebp - 0x2c]
imul ecx, ecx, 0x3e8
mov eax, dword [eax + 0x830]
mov dword [ebp - 0x60], ecx
movups xmm1, xmmword [eax + 0x20]
movaps xmm0, xmm1
psrldq xmm0, 8
movd eax, xmm0
sub ecx, eax
mov eax, 0x10624dd3
imul ecx
movd ecx, xmm1
psrldq xmm1, 4
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
mov edi, edx
mov dword [ebp - 0xc], eax
mov edx, dword [ebp - 0x18]
sub edx, ecx
movd ecx, xmm1
sbb ebx, ecx
push ebx
push edx
call fcn.005b8cf0
mov ecx, dword [ebp - 0xc]
add ecx, eax
adc edi, edx
mov dword [ebp - 0x44], edi
js 0x54e699
jg 0x54e671
cmp ecx, 0x3e8
jb 0x54e699
mov ebx, dword [ebp - 0x2c]
mov edx, ebx
push 0x54aba0
mov ecx, dword [ebx + 0x830]
call fcn.00553500
mov eax, dword [ebx + 0x830]
add esp, 4
movups xmm0, xmmword [ebp - 0x68]
movups xmmword [eax + 0x20], xmm0
jmp 0x54e69c
mov ebx, dword [ebp - 0x2c]
cmp byte [ebx + 0x4fb], 0
je 0x54e6b2
cmp byte [ebx + 0x4868], 0
je 0x54e73a
lea eax, [ebp - 0x1a]
mov edx, esi
push eax
lea eax, [ebp - 0x19]
mov ecx, ebx
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.0054abc0
add esp, 0xc
test al, al
je 0x54e73a
cmp byte [ebp - 0x19], 0
mov edi, dword [ebp - 0x20]
jne 0x54e779
mov edx, edi
mov ecx, ebx
call fcn.0054a750
test eax, eax
je 0x54e779
mov eax, dword [edi + 0x304]
add eax, dword [edi + 0x2f4]
je 0x54e779
push eax
push dword [edi + 0x4c]
push str.Found_connection__ld__with_requests_in_the_pipe___zu__n
push ebx
call fcn.00543710
mov eax, dword [edi + 0x528]
add esp, 0x10
mov ecx, dword [ebp - 0x34]
cmp dword [eax + 4], ecx
jae 0x54e779
mov eax, dword [ebx + 0x830]
mov ecx, dword [ebp - 0x3c]
cmp dword [eax + 0x18], ecx
jae 0x54e779
push str.We_can_reuse__but_we_want_a_new_connection_anyway_n
push ebx
call fcn.00543710
add esp, 8
mov eax, dword [esi + 0x2a8]
xor ecx, ecx
mov dword [ebp - 0xc], ecx
test dword [eax + 0x44], 0x100
je 0x54e76c
cmp byte [ebx + 0x655], cl
je 0x54e75d
mov byte [esi + 0x284], 1
cmp byte [ebx + 0x654], cl
je 0x54e76c
mov byte [esi + 0x283], 1
cmp byte [ebp - 0x1a], cl
je 0x54e7eb
mov byte [ebp - 5], cl
jmp 0x54e7fd
mov edx, edi
mov byte [edi + 0x48], 1
mov ecx, esi
call fcn.0054d9d0
push esi
call dword [0x65ede8]
mov eax, dword [ebp - 0x40]
add esp, 4
mov esi, edi
mov dword [eax], edi
cmp dword [edi + 0xc4], 0
je 0x54e7a8
mov eax, dword [edi + 0xc8]
jmp 0x54e7bf
cmp dword [edi + 0xe4], 0
je 0x54e7b9
mov eax, dword [edi + 0xe8]
jmp 0x54e7bf
mov eax, dword [edi + 0xa4]
cmp byte [edi + 0x269], 0
mov ecx, str.host
push eax
mov eax, str.proxy
cmove eax, ecx
push eax
push dword [edi + 0x4c]
push str.Re_using_existing_connection____ld__with__s__s_n
push ebx
call fcn.00543710
add esp, 0x14
jmp 0x54e9b4
mov edx, dword [ebx + 0x830]
mov ecx, esi
call fcn.005532c0
mov ecx, eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x54e90f
test ecx, ecx
je 0x54e90f
cmp dword [ecx + 4], eax
jb 0x54e90f
mov dword [ebp - 0x18], 0xffffffff
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edi, eax
mov eax, 0x10624dd3
mul edi
mov eax, edx
shr eax, 6
imul ecx, eax, 0x3e8
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0xc]
sub edi, ecx
mov eax, dword [eax + 8]
imul edx, edi, 0x3e8
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x20], edx
test eax, eax
je 0x54ea14
or ebx, 0xffffffff
xor esi, esi
nop
mov ecx, dword [eax]
mov dword [ebp - 0x44], ecx
cmp byte [ecx + 0x48], 0
jne 0x54e8e4
movups xmm1, xmmword [ecx + 0x188]
mov ecx, edx
mov edi, 0
push 0
movaps xmm0, xmm1
psrldq xmm0, 8
movd eax, xmm0
push 0x3e8
sub ecx, eax
mov eax, 0x10624dd3
imul ecx
movd ecx, xmm1
psrldq xmm1, 4
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x4c]
sub eax, ecx
mov dword [ebp - 0x54], edx
movd ecx, xmm1
sbb edi, ecx
push edi
push eax
call fcn.005b8cf0
mov ecx, dword [ebp - 0x50]
add ecx, eax
mov eax, dword [ebp - 0x54]
adc eax, edx
cmp eax, dword [ebp - 0x18]
jl 0x54e8de
jg 0x54e8d6
cmp ecx, ebx
jbe 0x54e8de
mov esi, dword [ebp - 0x44]
mov ebx, ecx
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0x20]
mov eax, dword [eax + 8]
mov dword [ebp - 0xc], eax
test eax, eax
jne 0x54e860
mov ebx, dword [ebp - 0x2c]
test esi, esi
mov dword [ebp - 0x20], esi
mov esi, dword [ebp - 0x30]
je 0x54ea14
mov ecx, dword [ebp - 0x20]
xor dl, dl
mov dword [ecx], ebx
call fcn.0054a5b0
cmp byte [ebp - 5], 0
je 0x54ea26
mov ecx, dword [ebp - 0x3c]
test ecx, ecx
je 0x54e945
mov eax, dword [ebx + 0x830]
cmp dword [eax + 0x18], ecx
jb 0x54e945
mov ecx, ebx
call fcn.0054a950
test eax, eax
je 0x54ea4e
xor dl, dl
mov dword [eax], ebx
mov ecx, eax
call fcn.0054a5b0
mov ecx, dword [ebx + 0x830]
mov edx, esi
call fcn.00553390
test byte [ebx + 0x4900], 0x28
je 0x54e983
cmp byte [ebx + 0x4908], 0
je 0x54e983
push str.NTLM_picked_AND_auth_done_set__clear_picked__n
push ebx
call fcn.00543710
add esp, 8
mov dword [ebx + 0x4900], 0
mov byte [ebx + 0x4908], 0
test byte [ebx + 0x4910], 0x28
je 0x54e9b4
cmp byte [ebx + 0x4918], 0
je 0x54e9b4
push str.NTLM_proxy_picked_AND_auth_done_set__clear_picked__n
push ebx
call fcn.00543710
add esp, 8
mov dword [ebx + 0x4910], 0
mov byte [ebx + 0x4918], 0
mov edx, esi
mov byte [esi + 0x48], 1
mov ecx, ebx
call fcn.0054ed30
mov ecx, ebx
call fcn.0054c3f0
mov edi, eax
test edi, edi
jne 0x54dfe7
mov eax, dword [ebx + 0x19c]
xor edx, edx
mov dword [esi + 0x314], eax
mov ecx, ebx
mov eax, dword [ebx + 0x1f0]
push 1
mov dword [esi + 0x318], eax
call fcn.00544390
add esp, 4
mov dword [ebp - 0x18], edx
cmp byte [esi + 0x266], 0
mov ecx, eax
mov dword [ebp - 0x44], ecx
je 0x54ea5e
mov eax, dword [ebp - 0x38]
mov byte [eax], 0
jmp 0x54dfe7
mov ecx, dword [ebp - 0x34]
push ecx
push str.No_more_connections_allowed_to_host:__d_n
push ebx
call fcn.00543710
add esp, 0xc
push str.No_connections_available._n
push ebx
call fcn.00543710
add esp, 8
mov ecx, esi
call fcn.0054a2b0
mov eax, dword [ebp - 0x40]
mov edi, 0x59
mov dword [eax], 0
jmp 0x54dfe7
push str.No_connections_available_in_cache_n
push ebx
call fcn.00543710
add esp, 8
jmp 0x54ea26
cmp byte [esi + 0x269], 0
jne 0x54eb19
cmp byte [esi + 0x268], 0
mov dl, byte [esi + 0x267]
mov byte [ebp - 5], dl
je 0x54ea85
mov ecx, dword [esi + 0x104]
jmp 0x54ea8b
mov ecx, dword [esi + 0x100]
test dl, dl
mov dword [ebp - 0x30], 0xa0
mov eax, 0xb4
mov dword [esi + 0xfc], ecx
cmove eax, dword [ebp - 0x30]
mov dword [ebp - 0xc], edi
cmp dword [ebp - 0x18], edi
jl 0x54ebab
jg 0x54eaba
cmp dword [ebp - 0x44], edi
jb 0x54ebab
lea edx, [ebp - 0xc]
push edx
mov edx, dword [eax + esi]
push ecx
mov ecx, esi
call fcn.005467c0
add esp, 8
cmp eax, 1
je 0x54eb5e
cmp eax, 0xfffffffe
je 0x54ebab
cmp dword [ebp - 0xc], edi
jne 0x54ebb0
cmp byte [ebp - 5], 0
mov ecx, 0xa4
mov eax, 0xb8
cmove eax, ecx
push dword [eax + esi]
push str.Couldnt_resolve_host__s
push ebx
call fcn.00543790
mov eax, dword [ebp - 0xc]
mov edi, 6
add esp, 0xc
mov dword [esi + 0x50], eax
jmp 0x54dfe7
mov dl, byte [esi + 0x26b]
mov eax, 0xc4
test dl, dl
mov dword [ebp - 0x30], 0xe4
mov byte [ebp - 5], dl
cmove eax, dword [ebp - 0x30]
mov dword [ebp - 0xc], edi
cmp dword [ebp - 0x18], edi
jl 0x54ebab
jg 0x54eb42
test ecx, ecx
jb 0x54ebab
mov edx, dword [eax + esi]
lea ecx, [ebp - 0xc]
push ecx
push dword [esi + 0xfc]
mov ecx, esi
call fcn.005467c0
add esp, 8
cmp eax, 1
jne 0x54eb6f
mov eax, dword [ebp - 0x38]
mov byte [eax], 1
mov eax, dword [ebp - 0xc]
mov dword [esi + 0x50], eax
jmp 0x54dfe7
cmp eax, 0xfffffffe
je 0x54ebab
cmp dword [ebp - 0xc], edi
jne 0x54ebb0
cmp byte [ebp - 5], 0
mov ecx, 0xe8
mov eax, 0xc8
cmove eax, ecx
push dword [eax + esi]
push str.Couldnt_resolve_proxy__s
push ebx
call fcn.00543790
mov eax, dword [ebp - 0xc]
mov edi, 5
add esp, 0xc
mov dword [esi + 0x50], eax
jmp 0x54dfe7
mov edi, 0x1c
mov eax, dword [ebp - 0xc]
mov dword [esi + 0x50], eax
jmp 0x54dfe7