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

Disassembly:
mov eax, 0x10f8
call fcn.00488a80
mov eax, dword [esp + 0x1100]
push ebx
push ebp
push esi
push edi
mov ebp, ecx
mov ecx, dword [esp + 0x110c]
push eax
push ecx
mov ecx, ebp
call fcn.0059f9a0
xor ebx, ebx
cmp eax, ebx
jne 0x59f4e3
lea ecx, [esp + 0x7c]
mov byte [esp + 0x17], bl
mov dword [esp + 0x18], ebx
call fcn.005149b0
mov dword [ebp + 0x6c], ebx
mov dword [esp + 0x8c], 3
mov edx, dword [esp + 0x8c]
mov eax, dword [ebp + 0x6c]
mov edi, dword [esp + 0x1114]
xor ecx, ecx
mov cl, byte [ebp + 0x54]
push edx
push eax
push ecx
mov ecx, dword [0x6bebe4]
call fcn.005a9340
mov esi, eax
cmp esi, 3
je 0x59f25f
mov edx, dword [ebp + 0x6c]
push edx
push esi
lea eax, [esp + 0x28]
push str.Attempting_connection_type__d__attempt__d_
push eax
mov dword [esp + 0x30], ebx
call fcn.00403a60
mov edx, dword [ebp + 0x60]
add esp, 0x10
lea ecx, [esp + 0x20]
push ecx
mov ecx, dword [ebp + 0x1c]
push edx
push 3
call fcn.005c1e30
push 0x80
mov dword [ebp + 0x24], esi
call fcn.00489377
add esp, 4
cmp eax, ebx
je 0x59e65b
push ebp
mov ecx, eax
call fcn.005c2dd0
jmp 0x59e65d
xor eax, eax
cmp dword [ebp + 0x20], ebx
mov dword [ebp + 0x14], eax
jne 0x59e671
mov dword [esp + 0x8c], esi
mov dword [ebp + 0x20], eax
jmp 0x59e67e
mov eax, dword [ebp + 0x6c]
push eax
push 5
mov ecx, ebp
call fcn.0059e2c0
lea ecx, [esp + 0x44]
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], 3
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
call fcn.00513c10
lea ecx, [esp + 0x4c]
call fcn.00513c10
lea ecx, [esp + 0x60]
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebx
call fcn.005149b0
lea ecx, [esp + 0x2c]
push ecx
mov ecx, ebp
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], ebx
mov byte [esp + 0x74], bl
mov byte [esp + 0x75], bl
mov byte [esp + 0x76], bl
mov byte [esp + 0x77], bl
mov byte [esp + 0x78], bl
mov byte [esp + 0x79], bl
mov dword [esp + 0x7c], 1
call fcn.0059fda0
mov edx, dword [esp + 0x54]
cmp edx, dword [edi]
mov dword [esp + 0x34], esi
je 0x59e740
lea ecx, [esp + 0x54]
call fcn.004039f0
mov eax, dword [edi]
cmp eax, ebx
mov dword [esp + 0x54], eax
je 0x59e740
mov ecx, dword [eax]
and ecx, 0xff
cmp ecx, 0x80
jae 0x59e737
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
and eax, 0xff
cmp eax, 0xff
jne 0x59e740
lea ecx, [esp + 0x54]
call fcn.0049d350
mov esi, dword [esp + 0x1118]
mov edx, dword [esp + 0x58]
cmp edx, dword [esi]
je 0x59e78e
lea ecx, [esp + 0x58]
call fcn.004039f0
mov eax, dword [esi]
cmp eax, ebx
mov dword [esp + 0x58], eax
je 0x59e78e
mov ecx, dword [eax]
and ecx, 0xff
cmp ecx, 0x80
jae 0x59e785
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
and eax, 0xff
cmp eax, 0xff
jne 0x59e78e
lea ecx, [esp + 0x58]
call fcn.0049d350
mov eax, dword [esp + 0x5c]
cmp eax, dword [esp + 0x18]
mov edx, dword [esp + 0x111c]
mov dword [esp + 0x68], edx
je 0x59e7e4
lea ecx, [esp + 0x5c]
call fcn.004039f0
mov eax, dword [esp + 0x18]
cmp eax, ebx
mov dword [esp + 0x5c], eax
je 0x59e7e4
mov ecx, dword [eax]
and ecx, 0xff
cmp ecx, 0x80
jae 0x59e7db
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
and eax, 0xff
cmp eax, 0xff
jne 0x59e7e4
lea ecx, [esp + 0x5c]
call fcn.0049d350
lea edx, [esp + 0x7c]
push edx
lea ecx, [esp + 0x64]
call fcn.005141a0
mov ecx, dword [ebp + 0x14]
mov eax, dword [ecx]
lea edx, [esp + 0x2c]
push edx
call dword [eax + 4]
cmp eax, ebx
mov dword [esp + 0x88], eax
jne 0x59e819
mov ecx, dword [ebp + 0x14]
mov eax, dword [ecx]
call dword [eax + 8]
mov dword [esp + 0x88], eax
cmp eax, 0xf4242
je 0x59f359
cmp eax, ebx
mov ecx, ebp
jne 0x59e9ab
push ebx
push 3
call fcn.0059e2c0
cmp byte [ebp + 0x57], bl
je 0x59f037
cmp byte [esp + 0x17], bl
je 0x59f037
mov eax, dword [esp + 0x18]
cmp eax, ebx
je 0x59f037
test dword [eax], 0xffffff00
je 0x59f037
cmp byte [eax + 4], bl
je 0x59f037
lea ecx, [esp + 0x7c]
call fcn.00514a50
test al, al
jne 0x59f037
or ecx, 0xffffffff
xor eax, eax
mov edi, str.ProxyPass
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.ProxyPass
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], ebx
call fcn.0049d9d0
or ecx, 0xffffffff
xor eax, eax
mov edi, 0x6b6e10
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x6b6e10
lea ecx, [esp + 0x30]
mov dword [esp + 0x30], ebx
call fcn.0049d9d0
push 1
push 1
lea ecx, [esp + 0x30]
push ecx
push str.ProxyPass
push str.Preferences
lea ecx, [esp + 0xbc]
call fcn.0046b970
lea edx, [esp + 0x10]
push edx
lea eax, [esp + 0x80]
push eax
lea ecx, [esp + 0x24]
push ecx
call fcn.005b5e60
add esp, 0xc
push eax
lea ecx, [esp + 0xac]
call fcn.00437cc0
lea ecx, [esp + 0xb8]
call fcn.004039f0
lea ecx, [esp + 0xb4]
mov dword [esp + 0xb8], ebx
call fcn.004039f0
lea ecx, [esp + 0xb0]
mov dword [esp + 0xb4], ebx
call fcn.004039f0
lea ecx, [esp + 0xac]
mov dword [esp + 0xb0], ebx
call fcn.004039f0
mov eax, dword [esp + 0x1c]
cmp eax, ebx
mov dword [esp + 0xac], ebx
je 0x59ed20
mov edx, dword [eax]
and edx, 0xff
cmp edx, 0x80
mov esi, eax
jae 0x59ed20
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
and eax, 0xff
cmp eax, 0x7f
jne 0x59ed0f
mov eax, dword [esi]
and eax, 0xff
cmp eax, 0x80
jae 0x59ed0a
push esi
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
and eax, 0xff
jmp 0x59ed0f
mov edx, dword [ebp]
call dword [edx + 0x80]
cmp eax, 0x197
jne 0x59ec82
or ecx, 0xffffffff
xor eax, eax
mov edi, str.Proxy_407_detecting__attempting_to_get_authentication_info
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.Proxy_407_detecting__attempting_to_get_authentication_info
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], ebx
call fcn.0049d9d0
mov ecx, dword [ebp + 0x60]
lea eax, [esp + 0x10]
push eax
push ecx
mov ecx, dword [ebp + 0x1c]
push 3
call fcn.005c1e30
lea ecx, [esp + 0x10]
call fcn.004039f0
or ecx, 0xffffffff
xor eax, eax
mov edi, 0x6b6e10
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x6b6e10
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], ebx
call fcn.0049d9d0
push 1
push 1
lea edx, [esp + 0x18]
push edx
push str.ProxyPass
push str.Preferences
lea ecx, [esp + 0xec]
call fcn.0046b970
lea ecx, [esp + 0x10]
call fcn.004039f0
or ecx, 0xffffffff
xor eax, eax
mov edi, str.ProxyPass
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.ProxyPass
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], ebx
call fcn.0049d9d0
lea ecx, [esp + 0xd8]
call fcn.0043c8c0
mov eax, dword [eax]
cmp eax, ebx
mov dword [esp + 0x84], eax
je 0x59ea99
mov ecx, dword [eax]
and ecx, 0xff
cmp ecx, 0x80
jae 0x59ea99
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
lea edx, [esp + 0x10]
push edx
lea eax, [esp + 0x88]
push eax
lea ecx, [esp + 0xd8]
push ecx
call fcn.005b60c0
add esp, 0xc
push eax
lea ecx, [esp + 0x80]
call fcn.005141a0
lea ecx, [esp + 0xd0]
call fcn.005149c0
lea ecx, [esp + 0x84]
call fcn.004039f0
lea ecx, [esp + 0x10]
mov dword [esp + 0x84], ebx
call fcn.004039f0
or ecx, 0xffffffff
xor eax, eax
mov edi, 0x6b6e10
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x6b6e10
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], ebx
call fcn.0049d9d0
push 1
push 1
lea edx, [esp + 0x18]
push edx
push str.ProxyUser
push str.Preferences
lea ecx, [esp + 0x104]
call fcn.0046b970
lea ecx, [esp + 0xf0]
call fcn.0043c8c0
mov esi, dword [eax]
cmp esi, ebx
mov dword [esp + 0x24], esi
je 0x59eb57
mov eax, dword [esi]
and eax, 0xff
cmp eax, 0x80
jae 0x59eb57
push esi
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
cmp dword [esp + 0x18], esi
je 0x59eb9a
lea ecx, [esp + 0x18]
call fcn.004039f0
cmp esi, ebx
mov dword [esp + 0x18], esi
je 0x59eb9a
mov ecx, dword [esi]
and ecx, 0xff
cmp ecx, 0x80
jae 0x59eb91
push esi
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
and eax, 0xff
cmp eax, 0xff
jne 0x59eb9a
lea ecx, [esp + 0x18]
call fcn.0049d350
lea ecx, [esp + 0x24]
call fcn.004039f0
lea ecx, [esp + 0xf0]
call fcn.0043b130
lea ecx, [esp + 0x10]
call fcn.004039f0
mov eax, dword [esp + 0x18]
cmp eax, ebx
je 0x59ebe3
test dword [eax], 0xffffff00
je 0x59ebe3
cmp byte [eax + 4], bl
je 0x59ebe3
lea ecx, [esp + 0x7c]
call fcn.00514a50
test al, al
jne 0x59ebe3
lea ecx, [esp + 0xd8]
jmp 0x59ec00
mov ecx, dword [ebp + 0x14]
mov edx, dword [ecx]
lea eax, [esp + 0x7c]
push eax
lea eax, [esp + 0x1c]
push eax
call dword [edx + 0x58]
test eax, eax
lea ecx, [esp + 0xd8]
jne 0x59ec7d
mov byte [esp + 0x17], 1
call fcn.0043b130
lea ecx, [esp + 0x60]
call fcn.005149c0
lea ecx, [esp + 0x5c]
call fcn.004039f0
lea ecx, [esp + 0x58]
mov dword [esp + 0x5c], ebx
call fcn.004039f0
lea ecx, [esp + 0x54]
mov dword [esp + 0x58], ebx
call fcn.004039f0
lea ecx, [esp + 0x4c]
mov dword [esp + 0x54], ebx
call fcn.00437be0
lea ecx, [esp + 0x44]
call fcn.00437be0
lea ecx, [esp + 0x3c]
call fcn.00437be0
lea ecx, [esp + 0x38]
call fcn.004039f0
lea ecx, [esp + 0x2c]
mov dword [esp + 0x38], ebx
call fcn.004039f0
lea ecx, [esp + 0x20]
mov dword [esp + 0x2c], ebx
call fcn.004039f0
jmp 0x59f1e2
call fcn.0043b130
cmp byte [ebp + 0x57], bl
jne 0x59f037
or ecx, 0xffffffff
xor eax, eax
mov edi, str.Failed_to_establish_connection.__will_retry_if_possible
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.Failed_to_establish_connection.__will_retry_if_possible
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], ebx
call fcn.0049d9d0
mov edx, dword [ebp + 0x60]
lea ecx, [esp + 0x10]
push ecx
mov ecx, dword [ebp + 0x1c]
push edx
push 1
call fcn.005c1e30
lea ecx, [esp + 0x10]
call fcn.004039f0
mov eax, dword [0x6bebe4]
mov byte [eax + 0x64], bl
mov ecx, dword [ebp + 0x14]
cmp ecx, dword [ebp + 0x20]
je 0x59ece3
cmp ecx, ebx
je 0x59ece3
mov edx, dword [ecx]
push 1
call dword [edx]
mov ecx, dword [esp + 0x111c]
cmp ecx, ebx
mov dword [ebp + 0x14], ebx
je 0x59ecf9
mov eax, dword [ecx]
call dword [eax + 0x10]
mov dword [ebp + 0x64], ebx
cmp byte [ebp + 0x59], bl
je 0x59f3ef
inc dword [ebp + 0x6c]
jmp 0x59f037
mov eax, 0xff
cmp eax, ebx
jne 0x59ed20
mov ecx, dword [esp + 0x1c]
push ecx
call fcn.00499410
add esp, 4
mov eax, dword [esp + 0x28]
cmp eax, ebx
mov dword [esp + 0x1c], ebx
je 0x59ed81
mov edx, dword [eax]
and edx, 0xff
cmp edx, 0x80
mov esi, eax
jae 0x59ed81
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
and eax, 0xff
cmp eax, 0x7f
jne 0x59ed70
mov eax, dword [esi]
and eax, 0xff
cmp eax, 0x80
jae 0x59ed6b
push esi
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
and eax, 0xff
jmp 0x59ed70
mov eax, 0xff
cmp eax, ebx
jne 0x59ed81
mov ecx, dword [esp + 0x28]
push ecx
call fcn.00499410
add esp, 4
mov eax, dword [esp + 0x10]
cmp eax, ebx
mov dword [esp + 0x28], ebx
je 0x59ede2
mov edx, dword [eax]
and edx, 0xff
cmp edx, 0x80
mov esi, eax
jae 0x59ede2
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
and eax, 0xff
cmp eax, 0x7f
jne 0x59edd1
mov eax, dword [esi]
and eax, 0xff
cmp eax, 0x80
jae 0x59edcc
push esi
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
and eax, 0xff
jmp 0x59edd1
mov eax, 0xff
cmp eax, ebx
jne 0x59ede2
mov ecx, dword [esp + 0x10]
push ecx
call fcn.00499410
add esp, 4
or ecx, 0xffffffff
xor eax, eax
mov edi, 0x6b6e10
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x6b6e10
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], ebx
call fcn.0049d9d0
push 1
push 1
lea edx, [esp + 0x18]
push edx
push str.ProxyUser
push str.Preferences
lea ecx, [esp + 0xa4]
call fcn.0046b970
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0xa0]
mov dword [esp + 0x28], ebx
call fcn.00436200
lea ecx, [esp + 0xc0]
call fcn.004ccff0
mov eax, dword [esp + 0x98]
cmp eax, ebx
je 0x59ee54
lea ecx, [eax + 4]
jmp 0x59ee56
xor ecx, ecx
mov eax, dword [esp + 0x94]
cmp eax, ebx
je 0x59ee66
add eax, 4
jmp 0x59ee68
xor eax, eax
push 0xf003f
push ecx
mov ecx, dword [esp + 0x98]
push eax
push ecx
lea ecx, [esp + 0xd0]
call fcn.004cd0a0
lea edx, [esp + 0x24]
push edx
push 0x1000
lea eax, [esp + 0x110]
push eax
lea ecx, [esp + 0xa8]
call fcn.0049da40
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0x24]
push ecx
push edx
lea eax, [esp + 0x110]
push eax
lea ecx, [esp + 0xcc]
call fcn.004cd3b0
lea ecx, [esp + 0xc0]
call fcn.004cd270
lea ecx, [esp + 0xc0]
call fcn.004cd000
lea ecx, [esp + 0xa0]
call fcn.004039f0
lea ecx, [esp + 0x9c]
mov dword [esp + 0xa0], ebx
call fcn.004039f0
mov eax, dword [esp + 0x98]
cmp eax, ebx
mov dword [esp + 0x9c], ebx
je 0x59ef65
mov ecx, dword [eax]
and ecx, 0xff
cmp ecx, 0x80
mov esi, eax
jae 0x59ef65
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
and eax, 0xff
cmp eax, 0x7f
jne 0x59ef51
mov edx, dword [esi]
and edx, 0xff
cmp edx, 0x80
jae 0x59ef4c
push esi
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
and eax, 0xff
jmp 0x59ef51
mov eax, 0xff
cmp eax, ebx
jne 0x59ef65
mov eax, dword [esp + 0x98]
push eax
call fcn.00499410
add esp, 4
mov eax, dword [esp + 0x94]
cmp eax, ebx
mov dword [esp + 0x98], ebx
je 0x59efd1
mov ecx, dword [eax]
and ecx, 0xff
cmp ecx, 0x80
mov esi, eax
jae 0x59efd1
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
and eax, 0xff
cmp eax, 0x7f
jne 0x59efbd
mov edx, dword [esi]
and edx, 0xff
cmp edx, 0x80
jae 0x59efb8
push esi
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
and eax, 0xff
jmp 0x59efbd
mov eax, 0xff
cmp eax, ebx
jne 0x59efd1
mov eax, dword [esp + 0x94]
push eax
call fcn.00499410
add esp, 4
mov eax, dword [esp + 0x10]
cmp eax, ebx
mov dword [esp + 0x94], ebx
je 0x59f037
mov ecx, dword [eax]
and ecx, 0xff
cmp ecx, 0x80
mov esi, eax
jae 0x59f037
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
and eax, 0xff
cmp eax, 0x7f
jne 0x59f026
mov edx, dword [esi]
and edx, 0xff
cmp edx, 0x80
jae 0x59f021
push esi
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
and eax, 0xff
jmp 0x59f026
mov eax, 0xff
cmp eax, ebx
jne 0x59f037
mov eax, dword [esp + 0x10]
push eax
call fcn.00499410
add esp, 4
lea ecx, [esp + 0x60]
call fcn.005149c0
lea ecx, [esp + 0x5c]
call fcn.004039f0
lea ecx, [esp + 0x58]
mov dword [esp + 0x5c], ebx
call fcn.004039f0
lea ecx, [esp + 0x54]
mov dword [esp + 0x58], ebx
call fcn.004039f0
mov ecx, dword [esp + 0x4c]
cmp ecx, ebx
mov dword [esp + 0x54], ebx
je 0x59f076
push 3
call fcn.00430c60
mov ecx, dword [esp + 0x50]
mov esi, 1
and ecx, esi
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x44]
cmp ecx, ebx
mov dword [esp + 0x4c], ebx
je 0x59f098
push 3
call fcn.00430c60
and dword [esp + 0x48], esi
mov ecx, dword [esp + 0x3c]
cmp ecx, ebx
mov dword [esp + 0x44], ebx
je 0x59f0af
push 3
call fcn.00430c60
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x38]
and edx, esi
cmp eax, ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], edx
je 0x59f11c
mov ecx, dword [eax]
and ecx, 0xff
cmp ecx, 0x80
mov esi, eax
jae 0x59f11c
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
and eax, 0xff
cmp eax, 0x7f
jne 0x59f10b
mov edx, dword [esi]
and edx, 0xff
cmp edx, 0x80
jae 0x59f106
push esi
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
and eax, 0xff
jmp 0x59f10b
mov eax, 0xff
cmp eax, ebx
jne 0x59f11c
mov eax, dword [esp + 0x38]
push eax
call fcn.00499410
add esp, 4
mov eax, dword [esp + 0x2c]
cmp eax, ebx
mov dword [esp + 0x38], ebx
je 0x59f17f
mov ecx, dword [eax]
and ecx, 0xff
cmp ecx, 0x80
mov esi, eax
jae 0x59f17f
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
and eax, 0xff
cmp eax, 0x7f
jne 0x59f16e
mov edx, dword [esi]
and edx, 0xff
cmp edx, 0x80
jae 0x59f169
push esi
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
and eax, 0xff
jmp 0x59f16e
mov eax, 0xff
cmp eax, ebx
jne 0x59f17f
mov eax, dword [esp + 0x2c]
push eax
call fcn.00499410
add esp, 4
mov eax, dword [esp + 0x20]
cmp eax, ebx
mov dword [esp + 0x2c], ebx
je 0x59f1e2
mov ecx, dword [eax]
and ecx, 0xff
cmp ecx, 0x80
mov esi, eax
jae 0x59f1e2
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
and eax, 0xff
cmp eax, 0x7f
jne 0x59f1d1
mov edx, dword [esi]
and edx, 0xff
cmp edx, 0x80
jae 0x59f1cc
push esi
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
and eax, 0xff
jmp 0x59f1d1
mov eax, 0xff
cmp eax, ebx
jne 0x59f1e2
mov eax, dword [esp + 0x20]
push eax
call fcn.00499410
add esp, 4
mov edi, dword [esp + 0x88]
cmp edi, ebx
mov dword [esp + 0x20], ebx
je 0x59f1fa
cmp byte [ebp + 0x57], bl
je 0x59e5e0
lea ecx, [esp + 0x7c]
call fcn.005149c0
mov eax, dword [esp + 0x18]
cmp eax, ebx
je 0x59f4e1
mov ecx, dword [eax]
and ecx, 0xff
cmp ecx, 0x80
mov esi, eax
jae 0x59f4e1
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
and eax, 0xff
cmp eax, 0x7f
jne 0x59f4d0
mov edx, dword [esi]
and edx, 0xff
cmp edx, 0x80
jae 0x59f4cb
push esi
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
and eax, 0xff
jmp 0x59f4d0
or ecx, 0xffffffff
xor eax, eax
mov edi, str.No_other_connection_types_to_try
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.No_other_connection_types_to_try
lea ecx, [esp + 0x24]
mov dword [esp + 0x24], ebx
call fcn.0049d9d0
mov ecx, dword [ebp + 0x6c]
push ecx
mov ecx, dword [ebp + 0x1c]
lea edx, [esp + 0x20]
push edx
push ebp
call fcn.005c1ba0
lea ecx, [esp + 0x1c]
call fcn.004039f0
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp]
mov dword [ebp + 0x14], eax
lea eax, [esp + 0x24]
push eax
mov ecx, ebp
call dword [edx + 0x4c]
mov eax, dword [eax]
cmp eax, ebx
je 0x59f2d1
mov ecx, dword [eax]
shr ecx, 8
cmp ecx, ebx
je 0x59f2d1
cmp eax, ebx
je 0x59f2c7
add eax, 4
jmp 0x59f2c9
xor eax, eax
cmp byte [eax], bl
mov byte [esp + 0x17], bl
jne 0x59f2d6
mov byte [esp + 0x17], 1
lea ecx, [esp + 0x24]
call fcn.004039f0
cmp byte [esp + 0x17], bl
je 0x59f335
mov eax, dword [ebp + 0x2c]
cmp eax, ebx
mov dword [esp + 0x1c], ebx
je 0x59f300
lea ecx, [eax + 4]
cmp ecx, ebx
je 0x59f300
cmp eax, ebx
je 0x59f305
lea ebx, [eax + 4]
jmp 0x59f305
mov ebx, 0x6b6e10
mov ecx, dword [ebp + 0x6c]
push ebx
push ecx
lea edx, [esp + 0x24]
push str.Attempted__d_connections_to__s
push edx
call fcn.00403a60
add esp, 0x10
lea eax, [esp + 0x1c]
push eax
lea ecx, [ebp + 0x90]
call fcn.00436200
lea ecx, [esp + 0x1c]
call fcn.004039f0
lea ecx, [esp + 0x7c]
call fcn.005149c0
lea ecx, [esp + 0x18]
call fcn.004039f0
pop edi
pop esi
pop ebp
mov eax, 0x7d0
pop ebx
add esp, 0x10f8
ret 0x14
lea ecx, [esp + 0x60]
call fcn.005149c0
lea ecx, [esp + 0x5c]
call fcn.004039f0
lea ecx, [esp + 0x58]
mov dword [esp + 0x5c], ebx
call fcn.004039f0
lea ecx, [esp + 0x54]
mov dword [esp + 0x58], ebx
call fcn.004039f0
lea ecx, [esp + 0x4c]
mov dword [esp + 0x54], ebx
call fcn.00437be0
lea ecx, [esp + 0x44]
call fcn.00437be0
lea ecx, [esp + 0x3c]
call fcn.00437be0
lea ecx, [esp + 0x38]
call fcn.004039f0
lea ecx, [esp + 0x2c]
mov dword [esp + 0x38], ebx
call fcn.004039f0
lea ecx, [esp + 0x20]
mov dword [esp + 0x2c], ebx
call fcn.004039f0
lea ecx, [esp + 0x7c]
mov dword [esp + 0x20], ebx
call fcn.005149c0
lea ecx, [esp + 0x18]
call fcn.004039f0
pop edi
pop esi
pop ebp
mov eax, 0xf4242
pop ebx
add esp, 0x10f8
ret 0x14
mov ecx, dword [ebp + 0x20]
mov dword [ebp + 0x14], ecx
or ecx, 0xffffffff
xor eax, eax
mov edi, str.No_retries_requested__returning_failure.
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.No_retries_requested__returning_failure.
lea ecx, [esp + 0x24]
mov dword [esp + 0x24], ebx
call fcn.0049d9d0
mov eax, dword [ebp + 0x60]
mov ecx, dword [ebp + 0x1c]
lea edx, [esp + 0x1c]
push edx
push eax
push 1
call fcn.005c1e30
lea ecx, [esp + 0x1c]
call fcn.004039f0
lea ecx, [esp + 0x60]
call fcn.005149c0
lea ecx, [esp + 0x5c]
call fcn.004039f0
lea ecx, [esp + 0x58]
mov dword [esp + 0x5c], ebx
call fcn.004039f0
lea ecx, [esp + 0x54]
mov dword [esp + 0x58], ebx
call fcn.004039f0
lea ecx, [esp + 0x4c]
mov dword [esp + 0x54], ebx
call fcn.00437be0
lea ecx, [esp + 0x44]
call fcn.00437be0
lea ecx, [esp + 0x3c]
call fcn.00437be0
lea ecx, [esp + 0x38]
call fcn.004039f0
lea ecx, [esp + 0x2c]
mov dword [esp + 0x38], ebx
call fcn.004039f0
lea ecx, [esp + 0x20]
mov dword [esp + 0x2c], ebx
call fcn.004039f0
lea ecx, [esp + 0x7c]
mov dword [esp + 0x20], ebx
call fcn.005149c0
lea ecx, [esp + 0x18]
call fcn.004039f0
mov eax, dword [esp + 0x88]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10f8
ret 0x14
mov eax, 0xff
cmp eax, ebx
jne 0x59f4e1
mov eax, dword [esp + 0x18]
push eax
call fcn.00499410
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10f8
ret 0x14