Function at 0x1400aca20
Capabilities:
Convert ip address from string

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x180
lea rdi, [rsp + 0x30]
mov ecx, 0x54
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0x190]
mov rax, qword [0x14013be00]
xor rax, rsp
mov qword [rsp + 0x178], rax
mov rax, qword [rsp + 0x190]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x198]
add rax, 0x10
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0xb4]
cmp eax, 5
jne 0x1400acaa2
mov dword [rsp + 0x168], 1
jmp 0x1400acaad
mov dword [rsp + 0x168], 0
cmp dword [rsp + 0x168], 0
jne 0x1400acac4
mov dword [rsp + 0x16c], 0
jmp 0x1400acacf
mov dword [rsp + 0x16c], 1
movzx eax, byte [rsp + 0x16c]
mov byte [rsp + 0x50], al
mov rax, qword [rsp + 0x198]
mov rcx, qword [rax + 0x270]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], 0
mov rax, qword [rsp + 0x1a0]
movzx eax, byte [rax + 0x6ab]
mov byte [rsp + 0x68], al
mov byte [rsp + 0x69], 0
mov qword [rsp + 0x78], 0
movzx eax, byte [rsp + 0x68]
and eax, 5
test eax, eax
jne 0x1400acb45
mov r8d, 0x251
lea rdx, [0x140132960]
lea rcx, str.auth______unsigned_long_1___0______unsigned_long_1___2__
call sub.api_ms_win_crt_runtime_l1_1_0.dll__wassert
xor eax, eax
mov rax, qword [rsp + 0x198]
mov eax, dword [rax]
mov dword [rsp + 0x170], eax
mov eax, dword [rsp + 0x170]
dec eax
mov dword [rsp + 0x170], eax
cmp dword [rsp + 0x170], 0xf
ja case.0x1400acb8d.5
movsxd rax, dword [rsp + 0x170]
lea rcx, [0x140000000]
mov eax, dword [rcx + rax*4 + 0xae12c]
add rax, rcx
jmp rax
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x3a0]
test eax, eax
je 0x1400acbd2
mov rax, qword [rsp + 0x198]
mov r9d, dword [rax + 0x278]
mov rax, qword [rsp + 0x198]
mov r8, qword [rax + 0x270]
lea rdx, str.SOCKS5:_connecting_to_HTTP_proxy__s_port__d
mov rcx, qword [rsp + 0x1a0]
call fcn.14003d050
nop
movzx eax, byte [rsp + 0x50]
test eax, eax
jne 0x1400acc04
cmp qword [rsp + 0x58], 0xff
jbe 0x1400acc04
lea rdx, str.SOCKS5:_the_destination_hostname_is_too_long_to_be_resolved_remotely_by_the_proxy.
mov rcx, qword [rsp + 0x1a0]
call fcn.14003ce90
mov eax, 9
jmp 0x1400ae0fc
movzx eax, byte [rsp + 0x68]
and eax, 0xfffffffa
test eax, eax
je 0x1400acc2d
movzx eax, byte [rsp + 0x68]
mov r8d, eax
lea rdx, str.warning:_unsupported_value_passed_to_CURLOPT_SOCKS5_AUTH:__u
mov rcx, qword [rsp + 0x1a0]
call fcn.14003d050
nop
movzx eax, byte [rsp + 0x68]
and eax, 1
test eax, eax
jne 0x1400acc4c
mov rax, qword [rsp + 0x198]
mov qword [rax + 0x280], 0
movzx eax, byte [rsp + 0x68]
and eax, 4
test eax, eax
je 0x1400acc5d
mov byte [rsp + 0x69], 1
mov qword [rsp + 0x40], 0
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x38]
add rcx, rax
mov rax, rcx
mov byte [rax], 5
mov rax, qword [rsp + 0x40]
inc rax
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
inc rax
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x38]
add rcx, rax
mov rax, rcx
mov byte [rax], 0
mov rax, qword [rsp + 0x40]
inc rax
mov qword [rsp + 0x40], rax
movzx eax, byte [rsp + 0x69]
test eax, eax
je 0x1400accdc
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x38]
add rcx, rax
mov rax, rcx
mov byte [rax], 1
mov rax, qword [rsp + 0x40]
inc rax
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x198]
cmp qword [rax + 0x280], 0
je 0x1400acd0e
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x38]
add rcx, rax
mov rax, rcx
mov byte [rax], 2
mov rax, qword [rsp + 0x40]
inc rax
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
sub rax, 2
mov ecx, 1
imul rcx, rcx, 1
mov rdx, qword [rsp + 0x38]
mov byte [rdx + rcx], al
mov rax, qword [rsp + 0x198]
mov rcx, qword [rsp + 0x38]
mov qword [rax + 0x268], rcx
cmp qword [rsp + 0x40], 0x258
jbe 0x1400acd62
mov r8d, 0x277
lea rdx, [0x140132b40]
lea rcx, str.idx___sizeof_sx__buffer_
call sub.api_ms_win_crt_runtime_l1_1_0.dll__wassert
xor eax, eax
mov rax, qword [rsp + 0x198]
mov rcx, qword [rsp + 0x40]
mov qword [rax + 8], rcx
lea rax, [0x140132c08]
mov qword [rsp + 0x20], rax
mov r9d, 0x1d
mov r8, qword [rsp + 0x1a0]
mov rdx, qword [rsp + 0x198]
mov rcx, qword [rsp + 0x190]
call fcn.1400aba10
mov dword [rsp + 0x4c], eax
cmp dword [rsp + 0x4c], 0
je 0x1400acdb8
mov eax, dword [rsp + 0x4c]
jmp 0x1400ae0fc
mov rax, qword [rsp + 0x198]
cmp qword [rax + 8], 0
je 0x1400acdce
xor eax, eax
jmp 0x1400ae0fc
mov r9d, 0x281
mov r8d, 4
mov rdx, qword [rsp + 0x1a0]
mov rcx, qword [rsp + 0x198]
call fcn.1400ab980
nop
jmp case.0x1400acb8d.3
lea rax, str.initial_SOCKS5_request
mov qword [rsp + 0x20], rax
mov r9d, 0x1d
mov r8, qword [rsp + 0x1a0]
mov rdx, qword [rsp + 0x198]
mov rcx, qword [rsp + 0x190]
call fcn.1400aba10
mov dword [rsp + 0x4c], eax
cmp dword [rsp + 0x4c], 0
je 0x1400ace37
mov eax, dword [rsp + 0x4c]
jmp 0x1400ae0fc
mov rax, qword [rsp + 0x198]
cmp qword [rax + 8], 0
je 0x1400ace4d
xor eax, eax
jmp 0x1400ae0fc
xor eax, eax
test eax, eax
jne 0x1400ace4d
mov rax, qword [rsp + 0x198]
mov qword [rax + 8], 2
mov rax, qword [rsp + 0x198]
mov rcx, qword [rsp + 0x38]
mov qword [rax + 0x268], rcx
xor eax, eax
test eax, eax
jne 0x1400ace77
lea rax, str.initial_SOCKS5_response
mov qword [rsp + 0x20], rax
mov r9d, reloc.WS2_32.dll_ntohs
mov r8, qword [rsp + 0x1a0]
mov rdx, qword [rsp + 0x198]
mov rcx, qword [rsp + 0x190]
call fcn.1400abb70
mov dword [rsp + 0x4c], eax
cmp dword [rsp + 0x4c], 0
je 0x1400acec5
mov eax, dword [rsp + 0x4c]
jmp 0x1400ae0fc
mov rax, qword [rsp + 0x198]
cmp qword [rax + 8], 0
je 0x1400acee0
xor eax, eax
jmp 0x1400ae0fc
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x38]
movzx eax, byte [rcx + rax]
cmp eax, 5
je 0x1400acf1a
lea rdx, str.Received_invalid_version_in_initial_SOCKS5_response.
mov rcx, qword [rsp + 0x1a0]
call fcn.14003ce90
mov eax, 2
jmp 0x1400ae0fc
mov eax, 1
imul rax, rax, 1
mov rcx, qword [rsp + 0x38]
movzx eax, byte [rcx + rax]
test eax, eax
jne 0x1400acf5c
mov r9d, 0x2a1
mov r8d, 9
mov rdx, qword [rsp + 0x1a0]
mov rcx, qword [rsp + 0x198]
call fcn.1400ab980
nop
jmp case.0x1400acb8d.9
mov eax, 1
imul rax, rax, 1
mov rcx, qword [rsp + 0x38]
movzx eax, byte [rcx + rax]
cmp eax, 2
jne 0x1400acf9f
mov r9d, 0x2a6
mov r8d, 6
mov rdx, qword [rsp + 0x1a0]
mov rcx, qword [rsp + 0x198]
call fcn.1400ab980
nop
jmp case.0x1400acb8d.6
movzx eax, byte [rsp + 0x69]
test eax, eax
je 0x1400ad020
mov eax, 1
imul rax, rax, 1
mov rcx, qword [rsp + 0x38]
movzx eax, byte [rcx + rax]
cmp eax, 1
jne 0x1400ad020
mov r9d, 0x2ab
mov r8d, 5
mov rdx, qword [rsp + 0x1a0]
mov rcx, qword [rsp + 0x198]
call fcn.1400ab980
mov rdx, qword [rsp + 0x1a0]
mov rcx, qword [rsp + 0x190]
call fcn.1400c4990
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x48], 0
je 0x1400ad01e
lea rdx, str.Unable_to_negotiate_SOCKS5_GSS_API_context.
mov rcx, qword [rsp + 0x1a0]
call fcn.14003ce90
mov eax, 4
jmp 0x1400ae0fc
jmp 0x1400ad097
movzx eax, byte [rsp + 0x69]
test eax, eax
jne 0x1400ad060
mov eax, 1
imul rax, rax, 1
mov rcx, qword [rsp + 0x38]
movzx eax, byte [rcx + rax]
cmp eax, 1
jne 0x1400ad060
lea rdx, str.SOCKS5_GSSAPI_per_message_authentication_is_not_supported.
mov rcx, qword [rsp + 0x1a0]
call fcn.14003ce90
mov eax, 5
jmp 0x1400ae0fc
mov eax, 1
imul rax, rax, 1
mov rcx, qword [rsp + 0x38]
movzx eax, byte [rcx + rax]
cmp eax, 0xff
jne 0x1400ad097
lea rdx, str.No_authentication_method_was_acceptable.
mov rcx, qword [rsp + 0x1a0]
call fcn.14003ce90
mov eax, ntohl
jmp 0x1400ae0fc
lea rdx, str.Undocumented_SOCKS5_mode_attempted_to_be_used_by_server.
mov rcx, qword [rsp + 0x1a0]
call fcn.14003ce90
mov eax, 0x20
jmp 0x1400ae0fc
jmp 0x1400ae0e6
mov rax, qword [rsp + 0x198]
cmp qword [rax + 0x280], 0
je 0x1400ad11d
mov rax, qword [rsp + 0x198]
cmp qword [rax + 0x288], 0
je 0x1400ad11d
mov rax, qword [rsp + 0x198]
mov rcx, qword [rax + 0x280]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x198]
mov rcx, qword [rax + 0x288]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov qword [rsp + 0x90], rax
jmp 0x1400ad135
mov qword [rsp + 0x88], 0
mov qword [rsp + 0x90], 0
mov qword [rsp + 0x60], 0
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x38]
add rcx, rax
mov rax, rcx
mov byte [rax], 1
mov rax, qword [rsp + 0x60]
inc rax
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x38]
add rcx, rax
mov rax, rcx
movzx ecx, byte [rsp + 0x88]
mov byte [rax], cl
mov rax, qword [rsp + 0x60]
inc rax
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x198]
cmp qword [rax + 0x280], 0
je 0x1400ad1fe
cmp qword [rsp + 0x88], 0
je 0x1400ad1fe
cmp qword [rsp + 0x88], 0xff
jbe 0x1400ad1ce
lea rdx, str.Excessive_username_length_for_proxy_auth
mov rcx, qword [rsp + 0x1a0]
call fcn.14003ce90
mov eax, ntohl
jmp 0x1400ae0fc
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x38]
add rcx, rax
mov rax, rcx
mov r8, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x198]
mov rdx, qword [rcx + 0x280]
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
nop
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x38]
add rcx, rax
mov rax, rcx
movzx ecx, byte [rsp + 0x90]
mov byte [rax], cl
mov rax, qword [rsp + 0x60]
inc rax
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x198]
cmp qword [rax + 0x288], 0
je 0x1400ad2b6
cmp qword [rsp + 0x90], 0
je 0x1400ad2b6
cmp qword [rsp + 0x90], 0xff
jbe 0x1400ad286
lea rdx, str.Excessive_password_length_for_proxy_auth
mov rcx, qword [rsp + 0x1a0]
call fcn.14003ce90
mov eax, 0xa
jmp 0x1400ae0fc
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x38]
add rcx, rax
mov rax, rcx
mov r8, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x198]
mov rdx, qword [rcx + 0x288]
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
nop
mov rax, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x60], rax
mov r9d, 0x2f5
mov r8d, 7
mov rdx, qword [rsp + 0x1a0]
mov rcx, qword [rsp + 0x198]
call fcn.1400ab980
cmp qword [rsp + 0x60], 0x258
jbe 0x1400ad315
mov r8d, 0x2f6
lea rdx, [0x140132dd0]
lea rcx, [0x140132e60]
call sub.api_ms_win_crt_runtime_l1_1_0.dll__wassert
xor eax, eax
mov rax, qword [rsp + 0x198]
mov rcx, qword [rsp + 0x60]
mov qword [rax + 8], rcx
mov rax, qword [rsp + 0x198]
mov rcx, qword [rsp + 0x38]
mov qword [rax + 0x268], rcx
xor eax, eax
test eax, eax
jne 0x1400ad33a
lea rax, str.SOCKS5_sub_negotiation_request
mov qword [rsp + 0x20], rax
mov r9d, 0x1c
mov r8, qword [rsp + 0x1a0]
mov rdx, qword [rsp + 0x198]
mov rcx, qword [rsp + 0x190]
call fcn.1400aba10
mov dword [rsp + 0x4c], eax
cmp dword [rsp + 0x4c], 0
je 0x1400ad385
mov eax, dword [rsp + 0x4c]
jmp 0x1400ae0fc
mov rax, qword [rsp + 0x198]
cmp qword [rax + 8], 0
je 0x1400ad39b
xor eax, eax
jmp 0x1400ae0fc
mov rax, qword [rsp + 0x198]
mov rcx, qword [rsp + 0x38]
mov qword [rax + 0x268], rcx
mov rax, qword [rsp + 0x198]
mov qword [rax + 8], 2
mov r9d, 0x306
mov r8d, 8
mov rdx, qword [rsp + 0x1a0]
mov rcx, qword [rsp + 0x198]
call fcn.1400ab980
nop
xor eax, eax
test eax, eax
jne 0x1400ad3e1
lea rax, str.SOCKS5_sub_negotiation_response
mov qword [rsp + 0x20], rax
mov r9d, reloc.WS2_32.dll_ntohl
mov r8, qword [rsp + 0x1a0]
mov rdx, qword [rsp + 0x198]
mov rcx, qword [rsp + 0x190]
call fcn.1400abb70
mov dword [rsp + 0x4c], eax
cmp dword [rsp + 0x4c], 0
je 0x1400ad42c
mov eax, dword [rsp + 0x4c]
jmp 0x1400ae0fc
mov rax, qword [rsp + 0x198]
cmp qword [rax + 8], 0
je 0x1400ad444
xor eax, eax
jmp 0x1400ae0fc
mov eax, 1
imul rax, rax, 1
mov rcx, qword [rsp + 0x38]
movzx eax, byte [rcx + rax]
test eax, eax
je 0x1400ad4a2
mov eax, 1
imul rax, rax, 1
mov rcx, qword [rsp + 0x38]
movzx eax, byte [rcx + rax]
mov ecx, 1
imul rcx, rcx, 0
mov rdx, qword [rsp + 0x38]
movzx ecx, byte [rdx + rcx]
mov r9d, eax
mov r8d, ecx
lea rdx, str.User_was_rejected_by_the_SOCKS5_server___d__d_.
mov rcx, qword [rsp + 0x1a0]
call fcn.14003ce90
mov eax, 0x21
jmp 0x1400ae0fc
mov r9d, 0x319
mov r8d, 9
mov rdx, qword [rsp + 0x1a0]
mov rcx, qword [rsp + 0x198]
call fcn.1400ab980
nop
xor eax, eax
test eax, eax
jne 0x1400ad4c4
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x1400ad583
lea rax, [rsp + 0x78]
mov qword [rsp + 0x20], rax
mov r9b, 1
mov rax, qword [rsp + 0x198]
mov r8d, dword [rax + 0x278]
mov rax, qword [rsp + 0x198]
mov rdx, qword [rax + 0x270]
mov rcx, qword [rsp + 0x1a0]
call fcn.140055430
mov dword [rsp + 0x98], eax
cmp dword [rsp + 0x98], 0xffffffff
jne 0x1400ad52a
mov eax, 0x1b
jmp 0x1400ae0fc
cmp dword [rsp + 0x98], 1
jne 0x1400ad55c
mov r9d, 0x325
mov r8d, 0xa
mov rdx, qword [rsp + 0x1a0]
mov rcx, qword [rsp + 0x198]
call fcn.1400ab980
xor eax, eax
jmp 0x1400ae0fc
mov r9d, 0x328
mov r8d, ntohl
mov rdx, qword [rsp + 0x1a0]
mov rcx, qword [rsp + 0x198]
call fcn.1400ab980
nop
jmp case.0x1400acb8d.11
jmp case.0x1400acb8d.12
mov rax, qword [rsp + 0x198]
mov r8d, dword [rax + 0x278]
mov rax, qword [rsp + 0x198]
mov rdx, qword [rax + 0x270]
mov rcx, qword [rsp + 0x1a0]
call fcn.140055f30
mov qword [rsp + 0x78], rax
cmp qword [rsp + 0x78], 0
je 0x1400ad607
mov rax, qword [rsp + 0x1a0]
mov rcx, qword [rsp + 0x78]
mov qword [rax + 0xd38], rcx
mov rax, qword [rsp + 0x1a0]
mov byte [rax + 0xd58], 1
mov rax, qword [rsp + 0x198]
mov r8, qword [rax + 0x270]
lea rdx, str.SOCKS5:_hostname__s_found
mov rcx, qword [rsp + 0x1a0]
call fcn.14003d050
nop
cmp qword [rsp + 0x78], 0
jne 0x1400ad645
lea rdx, [rsp + 0x78]
mov rcx, qword [rsp + 0x1a0]
call fcn.140056b90
mov dword [rsp + 0x48], eax
cmp qword [rsp + 0x78], 0
jne 0x1400ad645
cmp dword [rsp + 0x48], 0
je 0x1400ad63e
mov eax, 0x1b
jmp 0x1400ae0fc
xor eax, eax
jmp 0x1400ae0fc
xor eax, eax
test eax, eax
jne 0x1400ad645
mov qword [rsp + 0xe8], 0
cmp qword [rsp + 0x78], 0
je 0x1400ad66f
mov rax, qword [rsp + 0x78]
mov rax, qword [rax]
mov qword [rsp + 0xe8], rax
mov rax, qword [rsp + 0x1a0]
movzx eax, byte [rax + 0x6e0]
test eax, eax
je 0x1400ad6f1
mov rax, qword [rsp + 0x1a0]
movzx eax, byte [rax + 0x6e0]
cmp eax, 1
jne 0x1400ad6a3
mov dword [rsp + 0x174], 2
jmp 0x1400ad6ae
mov dword [rsp + reloc.WS2_32.dll_socket4], 0x17
mov eax, dword [rsp + 0x174]
mov dword [rsp + 0xf0], eax
cmp qword [rsp + 0xe8], 0
je 0x1400ad6f1
mov rax, qword [rsp + 0xe8]
mov ecx, dword [rsp + 0xf0]
cmp dword [rax + 4], ecx
je 0x1400ad6f1
mov rax, qword [rsp + 0xe8]
mov rax, qword [rax + 0x28]
mov qword [rsp + 0xe8], rax
jmp 0x1400ad6bc
cmp qword [rsp + 0xe8], 0
jne 0x1400ad729
mov rax, qword [rsp + 0x198]
mov r8, qword [rax + 0x270]
lea rdx, str.Failed_to_resolve___s__for_SOCKS5_connect.
mov rcx, qword [rsp + 0x1a0]
call fcn.14003ce90
mov eax, 0x1b
jmp 0x1400ae0fc
mov r8d, 0x2e
lea rdx, [rsp + 0xa8]
mov rcx, qword [rsp + 0xe8]
call fcn.140055e40
mov qword [rsp + 0x60], 0
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x38]
add rcx, rax
mov rax, rcx
mov byte [rax], 5
mov rax, qword [rsp + 0x60]
inc rax
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x38]
add rcx, rax
mov rax, rcx
mov byte [rax], 1
mov rax, qword [rsp + 0x60]
inc rax
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x38]
add rcx, rax
mov rax, rcx
mov byte [rax], 0
mov rax, qword [rsp + 0x60]
inc rax
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0xe8]
cmp dword [rax + 4], 2
jne 0x1400ad881
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x38]
add rcx, rax
mov rax, rcx
mov byte [rax], 1
mov rax, qword [rsp + 0x60]
inc rax
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0xe8]
mov rax, qword [rax + 0x20]
mov qword [rsp + 0xf8], rax
mov dword [rsp + 0xf4], 0
jmp 0x1400ad810
mov eax, dword [rsp + 0xf4]
inc eax
mov dword [rsp + 0xf4], eax
cmp dword [rsp + 0xf4], 4
jge 0x1400ad850
movsxd rax, dword [rsp + 0xf4]
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x38]
add rdx, rcx
mov rcx, rdx
mov rdx, qword [rsp + 0xf8]
movzx eax, byte [rdx + rax + 4]
mov byte [rcx], al
mov rax, qword [rsp + 0x60]
inc rax
mov qword [rsp + 0x60], rax
jmp 0x1400ad800
mov rax, qword [rsp + 0x198]
mov r9d, dword [rax + 0x278]
lea r8, [rsp + 0xa8]
lea rdx, str.SOCKS5_connect_to__s:_d__locally_resolved_
mov rcx, qword [rsp + 0x1a0]
call fcn.14003d050
nop
jmp 0x1400ad97b
mov rax, qword [rsp + 0xe8]
cmp dword [rax + 4], 0x17
jne 0x1400ad952
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x38]
add rcx, rax
mov rax, rcx
mov byte [rax], 4
mov rax, qword [rsp + 0x60]
inc rax
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0xe8]
mov rax, qword [rax + 0x20]
mov qword [rsp + 0x108], rax
mov dword [rsp + 0x100], 0
jmp 0x1400ad8e4
mov eax, dword [rsp + 0x100]
inc eax
mov dword [rsp + 0x100], eax
cmp dword [rsp + 0x100], 0x10
jge 0x1400ad924
movsxd rax, dword [rsp + 0x100]
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x38]
add rdx, rcx
mov rcx, rdx
mov rdx, qword [rsp + 0x108]
movzx eax, byte [rdx + rax + 8]
mov byte [rcx], al
mov rax, qword [rsp + 0x60]
inc rax
mov qword [rsp + 0x60], rax
jmp 0x1400ad8d4
mov rax, qword [rsp + 0x198]
mov r9d, dword [rax + 0x278]
lea r8, [rsp + 0xa8]
lea rdx, str.SOCKS5_connect_to___s_:_d__locally_resolved_
mov rcx, qword [rsp + 0x1a0]
call fcn.14003d050
nop
jmp 0x1400ad97b
mov qword [rsp + 0xe8], 0
lea r8, [rsp + 0xa8]
lea rdx, str.SOCKS5_connection_to__s_not_supported
mov rcx, qword [rsp + 0x1a0]
call fcn.14003ce90
nop
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x1a0]
call fcn.140055bd0
nop
jmp case.0x1400acb8d.13
mov qword [rsp + 0x60], 0
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x38]
add rcx, rax
mov rax, rcx
mov byte [rax], 5
mov rax, qword [rsp + 0x60]
inc rax
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x38]
add rcx, rax
mov rax, rcx
mov byte [rax], 1
mov rax, qword [rsp + 0x60]
inc rax
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x38]
add rcx, rax
mov rax, rcx
mov byte [rax], 0
mov rax, qword [rsp + 0x60]
inc rax
mov qword [rsp + 0x60], rax
movzx eax, byte [rsp + 0x50]
test eax, eax
jne 0x1400adbdf
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x3ab]
test eax, eax
je 0x1400adaa7
lea r8, [rsp + 0x138]
mov rax, qword [rsp + 0x198]
mov rdx, qword [rax + 0x270]
mov ecx, reloc.WS2_32.dll_socket
call qword [sym.imp.WS2_32.dll_inet_pton]
cmp eax, 1
je 0x1400ada4e
mov eax, 1
jmp 0x1400ae0fc
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x38]
add rcx, rax
mov rax, rcx
mov byte [rax], 4
mov rax, qword [rsp + 0x60]
inc rax
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x38]
add rcx, rax
mov rax, rcx
mov r8d, reloc.WS2_32.dll_recv
lea rdx, [rsp + 0x138]
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rsp + 0x60]
add rax, 0x10
mov qword [rsp + 0x60], rax
jmp 0x1400adbac
lea r8, [rsp + 0x114]
mov rax, qword [rsp + 0x198]
mov rdx, qword [rax + 0x270]
mov ecx, 2
call qword [sym.imp.WS2_32.dll_inet_pton]
cmp eax, 1
jne 0x1400adb27
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x38]
add rcx, rax
mov rax, rcx
mov byte [rax], 1
mov rax, qword [rsp + 0x60]
inc rax
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x38]
add rcx, rax
mov rax, rcx
mov r8d, 4
lea rdx, [rsp + 0x114]
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rsp + 0x60]
add rax, 4
mov qword [rsp + 0x60], rax
jmp 0x1400adbac
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x38]
add rcx, rax
mov rax, rcx
mov byte [rax], 3
mov rax, qword [rsp + 0x60]
inc rax
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x38]
add rcx, rax
mov rax, rcx
movzx ecx, byte [rsp + 0x58]
mov byte [rax], cl
mov rax, qword [rsp + 0x60]
inc rax
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x38]
add rcx, rax
mov rax, rcx
mov r8, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x198]
mov rdx, qword [rcx + 0x270]
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x198]
mov r9d, dword [rax + 0x278]
mov rax, qword [rsp + 0x198]
mov r8, qword [rax + 0x270]
lea rdx, str.SOCKS5_connect_to__s:_d__remotely_resolved_
mov rcx, qword [rsp + 0x1a0]
call fcn.14003d050
nop
xor eax, eax
test eax, eax
jne 0x1400adbdf
mov rax, qword [rsp + 0x198]
mov eax, dword [rax + 0x278]
sar eax, 8
and eax, 0xff
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x38]
add rdx, rcx
mov rcx, rdx
mov byte [rcx], al
mov rax, qword [rsp + 0x60]
inc rax
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x198]
mov eax, dword [rax + 0x278]
and eax, 0xff
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x38]
add rdx, rcx
mov rcx, rdx
mov byte [rcx], al
mov rax, qword [rsp + 0x60]
inc rax
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x7c8], 0
je 0x1400adc78
lea rdx, [0x140133010]
mov rcx, qword [rsp + 0x1a0]
call fcn.14003ce90
mov eax, 6
jmp 0x1400ae0fc
mov rax, qword [rsp + 0x198]
mov rcx, qword [rsp + 0x38]
mov qword [rax + 0x268], rcx
cmp qword [rsp + 0x60], 0x258
jbe 0x1400adcb2
mov r8d, 0x3b9
lea rdx, [0x140133040]
lea rcx, [0x1401330d0]
call sub.api_ms_win_crt_runtime_l1_1_0.dll__wassert
xor eax, eax
mov rax, qword [rsp + 0x198]
mov rcx, qword [rsp + 0x60]
mov qword [rax + 8], rcx
mov r9d, 0x3bb
mov r8d, reloc.WS2_32.dll_ntohl
mov rdx, qword [rsp + 0x1a0]
mov rcx, qword [rsp + 0x198]
call fcn.1400ab980
nop
xor eax, eax
test eax, eax
jne 0x1400adce5
lea rax, str.SOCKS5_connect_request
mov qword [rsp + 0x20], rax
mov r9d, 0x1e
mov r8, qword [rsp + 0x1a0]
mov rdx, qword [rsp + 0x198]
mov rcx, qword [rsp + 0x190]
call fcn.1400aba10
mov dword [rsp + 0x4c], eax
cmp dword [rsp + 0x4c], 0
je 0x1400add30
mov eax, dword [rsp + 0x4c]
jmp 0x1400ae0fc
mov rax, qword [rsp + 0x198]
cmp qword [rax + 8], 0
je 0x1400add46
xor eax, eax
jmp 0x1400ae0fc
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x7c8], 0
je 0x1400add72
lea rdx, str.SOCKS5_GSS_API_protection_not_yet_implemented.
mov rcx, qword [rsp + 0x1a0]
call fcn.14003ce90
mov eax, 6
jmp 0x1400ae0fc
mov rax, qword [rsp + 0x198]
mov qword [rax + 8], 0xa
mov rax, qword [rsp + 0x198]
mov rcx, qword [rsp + 0x38]
mov qword [rax + 0x268], rcx
mov r9d, 0x3ce
mov r8d, reloc.WS2_32.dll_ntohs
mov rdx, qword [rsp + 0x1a0]
mov rcx, qword [rsp + 0x198]
call fcn.1400ab980
nop
xor eax, eax
test eax, eax
jne 0x1400addb8
lea rax, str.SOCKS5_connect_request_ack
mov qword [rsp + 0x20], rax
mov r9d, reloc.WS2_32.dll_recv
mov r8, qword [rsp + 0x1a0]
mov rdx, qword [rsp + 0x198]
mov rcx, qword [rsp + 0x190]
call fcn.1400abb70
mov dword [rsp + 0x4c], eax
cmp dword [rsp + 0x4c], 0
je 0x1400ade06
mov eax, dword [rsp + 0x4c]
jmp 0x1400ae0fc
mov rax, qword [rsp + 0x198]
cmp qword [rax + 8], 0
je 0x1400ade21
xor eax, eax
jmp 0x1400ae0fc
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x38]
movzx eax, byte [rcx + rax]
cmp eax, 5
je 0x1400ade5b
lea rdx, str.SOCKS5_reply_has_wrong_version__version_should_be_5.
mov rcx, qword [rsp + 0x1a0]
call fcn.14003ce90
mov eax, 2
jmp 0x1400ae0fc
mov eax, 1
imul rax, rax, 1
mov rcx, qword [rsp + 0x38]
movzx eax, byte [rcx + rax]
test eax, eax
je 0x1400adf00
mov dword [rsp + 0x154], 0x19
mov eax, 1
imul rax, rax, 1
mov rcx, qword [rsp + 0x38]
movzx eax, byte [rcx + rax]
mov dword [rsp + 0x158], eax
mov eax, 1
imul rax, rax, 1
mov rcx, qword [rsp + 0x38]
movzx eax, byte [rcx + rax]
mov r9d, eax
mov rax, qword [rsp + 0x198]
mov r8, qword [rax + 0x270]
lea rdx, str.cannot_complete_SOCKS5_connection_to__s.___d_
mov rcx, qword [rsp + 0x1a0]
call fcn.14003ce90
cmp dword [rsp + 0x158], 9
jge 0x1400adef4
movsxd rax, dword [rsp + 0x158]
lea rcx, [0x1400e5600]
mov eax, dword [rcx + rax*4]
mov dword [rsp + 0x154], eax
mov eax, dword [rsp + 0x154]
jmp 0x1400ae0fc
mov eax, 1
imul rax, rax, 3
mov rcx, qword [rsp + 0x38]
movzx eax, byte [rcx + rax]
cmp eax, 3
jne 0x1400adf43
mov eax, 1
imul rax, rax, 4
mov rcx, qword [rsp + 0x38]
movzx eax, byte [rcx + rax]
mov dword [rsp + 0x15c], eax
mov eax, dword [rsp + 0x15c]
add eax, 7
cdqe
mov qword [rsp + 0x60], rax
jmp 0x1400adfa5
mov eax, 1
imul rax, rax, 3
mov rcx, qword [rsp + 0x38]
movzx eax, byte [rcx + rax]
cmp eax, 4
jne 0x1400adf65
mov qword [rsp + 0x60], socket
jmp 0x1400adfa5
mov eax, 1
imul rax, rax, 3
mov rcx, qword [rsp + 0x38]
movzx eax, byte [rcx + rax]
cmp eax, 1
jne 0x1400adf87
mov qword [rsp + 0x60], 0xa
jmp 0x1400adfa5
lea rdx, str.SOCKS5_reply_has_wrong_address_type.
mov rcx, qword [rsp + 0x1a0]
call fcn.14003ce90
mov eax, 1
jmp 0x1400ae0fc
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x7c8], 0
jne 0x1400ae069
cmp qword [rsp + 0x60], 0xa
jbe 0x1400ae045
cmp qword [rsp + 0x60], 0x258
jbe 0x1400adfe9
mov r8d, 0x41d
lea rdx, [0x140133200]
lea rcx, str.len___sizeof_sx__buffer_
call sub.api_ms_win_crt_runtime_l1_1_0.dll__wassert
xor eax, eax
mov rax, qword [rsp + 0x60]
sub rax, 0xa
mov rcx, qword [rsp + 0x198]
mov qword [rcx + 8], rax
mov eax, 1
imul rax, rax, 0xa
mov rcx, qword [rsp + 0x38]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x198]
mov qword [rcx + 0x268], rax
mov r9d, 0x420
mov r8d, reloc.WS2_32.dll_recv
mov rdx, qword [rsp + 0x1a0]
mov rcx, qword [rsp + 0x198]
call fcn.1400ab980
nop
jmp 0x1400ae069
mov r9d, 0x423
mov r8d, reloc.WS2_32.dll_recvfrom
mov rdx, qword [rsp + 0x1a0]
mov rcx, qword [rsp + 0x198]
call fcn.1400ab980
nop
jmp 0x1400ae0e6
xor eax, eax
test eax, eax
jne 0x1400ae069
lea rax, str.SOCKS5_connect_request_address
mov qword [rsp + 0x20], rax
mov r9d, reloc.WS2_32.dll_listen
mov r8, qword [rsp + 0x1a0]
mov rdx, qword [rsp + 0x198]
mov rcx, qword [rsp + 0x190]
call fcn.1400abb70
mov dword [rsp + 0x4c], eax
cmp dword [rsp + 0x4c], 0
je 0x1400ae0b1
mov eax, dword [rsp + 0x4c]
jmp 0x1400ae0fc
mov rax, qword [rsp + 0x198]
cmp qword [rax + 8], 0
je 0x1400ae0c4
xor eax, eax
jmp 0x1400ae0fc
mov r9d, 0x433
mov r8d, reloc.WS2_32.dll_recvfrom
mov rdx, qword [rsp + 0x1a0]
mov rcx, qword [rsp + 0x198]
call fcn.1400ab980
nop
lea rdx, str.SOCKS5_request_granted.
mov rcx, qword [rsp + 0x1a0]
call fcn.14003d050
xor eax, eax
mov rdi, rax
mov rcx, rsp
lea rdx, reloc.WS2_32.dll_connect
call fcn.1400d050c
mov rax, rdi
mov rcx, qword [rsp + 0x178]
xor rcx, rsp
call fcn.1400d0280
add rsp, 0x180
pop rdi
ret