Function at 0x1401b3590
Capabilities:
Convert ip address from string

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xa0
mov rax, qword [0x14032f0c0]
xor rax, rsp
mov qword [rsp + 0x90], rax
mov r9, qword [rcx + 0x18]
lea rdi, [rdx + 0x10]
mov rsi, r8
mov qword [rsp + 0x40], rcx
mov r15, 0xffffffffffffffff
mov qword [rsp + 0x48], r9
mov rbx, rdx
mov r13, r15
movzx r8d, byte [r9 + 0xb4]
mov rdx, qword [rdx + 0x270]
mov byte [rsp + 0x31], r8b
nop
inc r13
cmp byte [rdx + r13], 0
jne 0x1401b35f0
mov eax, dword [rbx]
xor r12d, r12d
movzx ebp, byte [rsi + 0x693]
dec eax
mov byte [rsp + 0x30], r12b
mov r14d, r12d
mov qword [rsp + 0x38], r12
cmp eax, 0xf
ja case.0x1401b3637.5
cdqe
lea r10, [0x140000000]
mov ecx, dword [r10 + rax*4 + 0x1b4030]
lea eax, [r12 + 2]
add rcx, r10
jmp rcx
cmp byte [r9 + 0x2a8], r12b
je 0x1401b3661
mov r9d, dword [rbx + 0x278]
mov r8, rdx
lea rdx, str.SOCKS5:_connecting_to_HTTP_proxy__s_port__d
mov rcx, rsi
call fcn.14019b1d0
movzx r8d, byte [rsp + 0x31]
cmp r8b, 5
je 0x1401b3689
cmp r13, 0xff
jbe 0x1401b3689
lea rdx, str.SOCKS5:_the_destination_hostname_is_too_long_to_be_resolved_remotely_by_the_proxy.
mov rcx, rsi
call fcn.14019b0a0
mov eax, 9
jmp 0x1401b4002
mov r8d, ebp
test ebp, 0xfffffffa
je 0x1401b36a3
lea rdx, str.warning:_unsupported_value_passed_to_CURLOPT_SOCKS5_AUTH:__u
mov rcx, rsi
call fcn.14019b1d0
test bpl, 1
jne 0x1401b36b0
mov qword [rbx + 0x280], r12
mov byte [rdi], 5
test bpl, 4
je 0x1401b36cb
mov byte [rsp + 0x30], 1
mov ecx, 4
mov word [rdi + 2], 0x100
jmp 0x1401b36d9
mov byte [rdi + 2], r12b
mov ecx, 3
mov byte [rsp + 0x30], r12b
cmp qword [rbx + 0x280], r12
je 0x1401b36e9
mov byte [rcx + rdi], 2
inc rcx
lea eax, [rcx - 2]
mov r9d, 0x1d
mov byte [rdi + 1], al
mov r8, rsi
mov qword [rbx + 8], rcx
lea rax, str.initial_SOCKS5_request
mov rcx, qword [rsp + 0x40]
mov rdx, rbx
mov qword [rsp + 0x20], rax
mov qword [rbx + 0x268], rdi
call fcn.1401b22b0
test eax, eax
jne 0x1401b4002
cmp qword [rbx + 8], r12
jne 0x1401b4000
cmp dword [rbx], 4
je case.0x1401b3637.3
mov dword [rbx], 4
jmp case.0x1401b3637.3
mov rcx, qword [rsp + 0x40]
lea rax, str.initial_SOCKS5_request
mov r9d, 0x1d
mov qword [rsp + 0x20], rax
mov r8, rsi
mov rdx, rbx
call fcn.1401b22b0
test eax, eax
jne 0x1401b4002
cmp qword [rbx + 8], r12
jne 0x1401b4000
mov r14d, 2
mov qword [rbx + 0x268], rdi
mov qword [rbx + 8], r14
jmp 0x1401b3788
mov r14d, 2
mov rbp, qword [rsp + 0x40]
lea rax, str.initial_SOCKS5_response
mov rcx, rbp
mov qword [rsp + 0x20], rax
mov r9d, reloc.WS2_32.dll_ntohs
mov r8, rsi
mov rdx, rbx
call fcn.1401b2920
test eax, eax
jne 0x1401b4002
cmp qword [rbx + 8], r12
jne 0x1401b4000
cmp byte [rdi], 5
je 0x1401b37db
lea rdx, str.Received_invalid_version_in_initial_SOCKS5_response.
mov rcx, rsi
call fcn.14019b0a0
mov eax, r14d
jmp 0x1401b4002
movzx eax, byte [rdi + 1]
test al, al
jne 0x1401b37fd
mov r15d, 2
cmp dword [rbx], 9
je 0x1401b3a49
mov dword [rbx], 9
jmp 0x1401b3a49
cmp al, 2
jne 0x1401b384e
cmp dword [rbx], 6
je case.0x1401b3637.6
mov dword [rbx], 6
mov rax, qword [rbx + 0x280]
test rax, rax
je 0x1401b38db
mov rcx, qword [rbx + 0x288]
test rcx, rcx
je 0x1401b38db
mov rbp, r15
nop
inc rbp
cmp byte [rax + rbp], r12b
jne 0x1401b3830
nop dword [rax]
inc r15
cmp byte [rcx + r15], r12b
jne 0x1401b3840
jmp 0x1401b38e1
cmp al, 1
jne 0x1401b38a5
cmp byte [rsp + 0x30], r12b
je 0x1401b388c
cmp dword [rbx], 5
je 0x1401b3864
mov dword [rbx], 5
mov rdx, rsi
mov rcx, rbp
call fcn.1401e3470
test eax, eax
je 0x1401b38c2
lea rdx, str.Unable_to_negotiate_SOCKS5_GSS_API_context.
mov rcx, rsi
call fcn.14019b0a0
mov eax, 4
jmp 0x1401b4002
lea rdx, str.SOCKS5_GSSAPI_per_message_authentication_is_not_supported.
mov rcx, rsi
call fcn.14019b0a0
mov eax, 5
jmp 0x1401b4002
cmp al, 0xff
jne 0x1401b38c2
lea rdx, str.No_authentication_method_was_acceptable.
mov rcx, rsi
call fcn.14019b0a0
mov eax, recv
jmp 0x1401b4002
lea rdx, str.Undocumented_SOCKS5_mode_attempted_to_be_used_by_server.
mov rcx, rsi
call fcn.14019b0a0
mov eax, 0x20
jmp 0x1401b4002
mov rbp, r12
mov r15, r12
mov byte [rdi], 1
mov byte [rdi + 1], bpl
mov rdx, qword [rbx + 0x280]
test rdx, rdx
je 0x1401b3927
test rbp, rbp
je 0x1401b3927
cmp rbp, 0xff
jbe 0x1401b391b
lea rdx, str.Excessive_user_name_length_for_proxy_auth
mov rcx, rsi
call fcn.14019b0a0
mov eax, listen
jmp 0x1401b4002
lea rcx, [rdi + 2]
mov r8, rbp
call fcn.140276ca0
mov byte [rdi + rbp + 2], r15b
add rbp, 3
mov rdx, qword [rbx + 0x288]
test rdx, rdx
je 0x1401b396f
test r15, r15
je 0x1401b396f
cmp r15, 0xff
jbe 0x1401b3963
lea rdx, str.Excessive_password_length_for_proxy_auth
mov rcx, rsi
call fcn.14019b0a0
mov eax, 0xa
jmp 0x1401b4002
lea rcx, [rdi + rbp]
mov r8, r15
call fcn.140276ca0
add rbp, r15
cmp dword [rbx], 7
je 0x1401b397d
mov dword [rbx], 7
mov qword [rbx + 8], rbp
mov qword [rbx + 0x268], rdi
mov rbp, qword [rsp + 0x40]
lea rax, str.SOCKS5_sub_negotiation_request
mov rcx, rbp
mov qword [rsp + 0x20], rax
mov r9d, 0x1c
mov r8, rsi
mov rdx, rbx
call fcn.1401b22b0
test eax, eax
jne 0x1401b4002
cmp qword [rbx + 8], r12
jne 0x1401b4000
cmp dword [rbx], 8
mov r15d, 2
mov qword [rbx + 8], r15
mov qword [rbx + 0x268], rdi
je 0x1401b39e8
mov dword [rbx], 8
jmp 0x1401b39e8
mov rbp, qword [rsp + 0x40]
mov r15d, 2
lea rax, str.SOCKS5_sub_negotiation_response
mov r9d, send
mov r8, rsi
mov qword [rsp + 0x20], rax
mov rdx, rbx
mov rcx, rbp
call fcn.1401b2920
test eax, eax
jne 0x1401b4002
cmp qword [rbx + 8], r12
jne 0x1401b4000
movzx eax, byte [rdi + 1]
test al, al
je 0x1401b37e9
movzx r8d, byte [rdi]
lea rdx, str.User_was_rejected_by_the_SOCKS5_server___d__d_.
mov r9d, eax
mov rcx, rsi
call fcn.14019b0a0
mov eax, 0x21
jmp 0x1401b4002
mov r15, rax
cmp byte [rsp + 0x31], 5
jne 0x1401b3aa9
mov r8d, dword [rbx + 0x278]
lea rax, [rsp + 0x38]
mov rdx, qword [rbx + 0x270]
mov r9b, 1
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.1401a5890
cmp eax, 0xffffffff
je 0x1401b3b7e
mov ecx, dword [rbx]
cmp eax, 1
jne 0x1401b3a97
cmp ecx, 0xa
je 0x1401b4000
mov dword [rbx], 0xa
jmp 0x1401b4000
mov r14, qword [rsp + 0x38]
cmp ecx, 0xb
je 0x1401b3b07
mov dword [rbx], recv
jmp 0x1401b3b07
mov r9, qword [rsp + 0x48]
mov eax, 2
mov word [rdi], 0x105
mov byte [rdi + 2], r12b
jmp 0x1401b3d3d
mov r8d, dword [rbx + 0x278]
mov rcx, rsi
call fcn.1401a5410
mov qword [rsp + 0x38], rax
mov r14, rax
mov rcx, rsi
test rax, rax
je 0x1401b3b41
mov qword [rsi + 0xdf8], rax
lea rdx, str.SOCKS5:_hostname__s_found
mov byte [rsi + 0xe18], 1
mov r8, qword [rbx + 0x270]
call fcn.14019b1d0
mov r15d, 2
mov rbp, r12
test r14, r14
je 0x1401b3b12
mov rbp, qword [r14]
movzx edx, byte [rsi + 0x6c8]
mov rax, rbp
test dl, dl
je 0x1401b3b88
cmp dl, 1
mov ecx, reloc.WS2_32.dll_socket
cmove ecx, r15d
test rbp, rbp
je 0x1401b3b8d
cmp dword [rbp + 4], ecx
je 0x1401b3bad
mov rbp, qword [rbp + 0x28]
test rbp, rbp
jne 0x1401b3b31
jmp 0x1401b3b8d
mov rax, qword [rsi + 0x20]
lea rdx, [rsp + 0x38]
cmp byte [rax + 0x2c2], r12b
je 0x1401b3b5a
call fcn.1401df120
jmp 0x1401b3b5f
call fcn.14019cab0
mov r14, qword [rsp + 0x38]
test r14, r14
je 0x1401b3b76
mov rdx, r14
mov rcx, rsi
call fcn.1401a69a0
jmp case.0x1401b3637.11
test eax, eax
je 0x1401b4000
mov eax, 0x1b
jmp 0x1401b4002
test rax, rax
jne 0x1401b3bad
mov r8, qword [rbx + 0x270]
lea rdx, str.Failed_to_resolve___s__for_SOCKS5_connect.
mov rcx, rsi
call fcn.14019b0a0
mov eax, 0x1b
jmp 0x1401b4002
mov byte [rsp + 0x50], r12b
mov ecx, dword [rbp + 4]
cmp ecx, 2
je 0x1401b3bc9
cmp ecx, 0x17
jne 0x1401b3be2
mov rdx, qword [rbp + 0x20]
add rdx, 8
jmp 0x1401b3bd1
mov rdx, qword [rbp + 0x20]
add rdx, 4
mov r9d, 0x2e
lea r8, [rsp + 0x50]
call qword [sym.imp.WS2_32.dll_inet_ntop]
mov byte [rdi + 2], r12b
mov r12d, 3
mov word [rdi], 0x105
mov eax, dword [rbp + 4]
cmp eax, 2
jne 0x1401b3c4e
mov byte [rdi + 3], 1
lea r8, [rsp + 0x50]
mov rcx, qword [rbp + 0x20]
lea rdx, str.SOCKS5_connect_to__s:_d__locally_resolved_
mov r12d, 8
movzx eax, byte [rcx + 4]
mov byte [rdi + 4], al
movzx eax, byte [rcx + 5]
mov byte [rdi + 5], al
movzx eax, byte [rcx + 6]
mov byte [rdi + 6], al
movzx eax, byte [rcx + 7]
mov rcx, rsi
mov byte [rdi + 7], al
mov r9d, dword [rbx + 0x278]
call fcn.14019b1d0
mov rdx, r14
mov rcx, rsi
call fcn.1401a60b0
jmp 0x1401b3de6
cmp eax, 0x17
jne 0x1401b3d00
mov byte [rdi + 3], 4
lea r8, [rsp + 0x50]
mov rcx, qword [rbp + 0x20]
lea rdx, str.SOCKS5_connect_to___s_:_d__locally_resolved_
mov r12d, reloc.WS2_32.dll_sendto
movzx eax, byte [rcx + 8]
mov byte [rdi + 4], al
movzx eax, byte [rcx + 9]
mov byte [rdi + 5], al
movzx eax, byte [rcx + 0xa]
mov byte [rdi + 6], al
movzx eax, byte [rcx + 0xb]
mov byte [rdi + 7], al
movzx eax, byte [rcx + 0xc]
mov byte [rdi + 8], al
movzx eax, byte [rcx + 0xd]
mov byte [rdi + 9], al
movzx eax, byte [rcx + 0xe]
mov byte [rdi + 0xa], al
movzx eax, byte [rcx + 0xf]
mov byte [rdi + 0xb], al
movzx eax, byte [rcx + 0x10]
mov byte [rdi + 0xc], al
movzx eax, byte [rcx + 0x11]
mov byte [rdi + 0xd], al
movzx eax, byte [rcx + 0x12]
mov byte [rdi + 0xe], al
movzx eax, byte [rcx + 0x13]
mov byte [rdi + 0xf], al
movzx eax, byte [rcx + 0x14]
mov byte [rdi + 0x10], al
movzx eax, byte [rcx + 0x15]
mov byte [rdi + 0x11], al
movzx eax, byte [rcx + 0x16]
mov byte [rdi + 0x12], al
movzx eax, byte [rcx + 0x17]
mov rcx, rsi
mov byte [rdi + 0x13], al
mov r9d, dword [rbx + 0x278]
call fcn.14019b1d0
mov rdx, r14
mov rcx, rsi
call fcn.1401a60b0
jmp 0x1401b3de6
lea r8, [rsp + 0x50]
mov rcx, rsi
lea rdx, str.SOCKS5_connection_to__s_not_supported
call fcn.14019b0a0
mov rdx, r14
mov rcx, rsi
call fcn.1401a60b0
jmp 0x1401b3de6
mov byte [rdi + 2], r12b
mov r12d, 3
mov word [rdi], 0x105
cmp r8b, 5
je case.0x1401b3637.13
cmp byte [r9 + 0x2b3], 0
mov rdx, qword [rbx + 0x270]
je 0x1401b3d80
lea r8, [rsp + 0x80]
mov ecx, reloc.WS2_32.dll_socket
call qword [sym.imp.WS2_32.dll_inet_pton]
cmp eax, 1
jne 0x1401b3faf
movups xmm0, xmmword [rsp + 0x80]
mov byte [rdi + 3], 4
lea r12d, [rax + 0x13]
movups xmmword [rdi + 4], xmm0
jmp 0x1401b3dc3
lea r8, [rsp + 0x38]
mov ecx, eax
call qword [sym.imp.WS2_32.dll_inet_pton]
cmp eax, 1
jne 0x1401b3da4
mov byte [rdi + 3], al
mov r12d, 8
mov eax, dword [rsp + 0x38]
mov dword [rdi + 4], eax
jmp 0x1401b3dc3
mov byte [rdi + 3], 3
lea rcx, [rdi + 5]
mov byte [rdi + 4], r13b
mov r8, r13
mov rdx, qword [rbx + 0x270]
call fcn.140276ca0
lea r12, [r13 + 5]
mov r9d, dword [rbx + 0x278]
lea rdx, str.SOCKS5_connect_to__s:_d__remotely_resolved_
mov r8, qword [rbx + 0x270]
mov rcx, rsi
call fcn.14019b1d0
mov r15d, 2
mov eax, dword [rbx + 0x278]
mov r14, qword [rsp + 0x48]
sar eax, 8
mov byte [r12 + rdi], al
movzx eax, byte [rbx + 0x278]
mov byte [r12 + rdi + 1], al
cmp dword [r14 + 0x6c8], 0
jne 0x1401b3e72
cmp dword [rbx], 0xe
lea rax, [r12 + 2]
mov qword [rbx + 8], rax
mov qword [rbx + 0x268], rdi
je 0x1401b3e31
mov dword [rbx], send
jmp 0x1401b3e31
mov r14, r9
mov r15, rax
mov rbp, qword [rsp + 0x40]
lea rax, str.SOCKS5_connect_request
mov rcx, rbp
mov qword [rsp + 0x20], rax
mov r9d, 0x1e
mov r8, rsi
mov rdx, rbx
call fcn.1401b22b0
test eax, eax
jne 0x1401b4002
cmp qword [rbx + 8], 0
jne 0x1401b4000
cmp dword [r14 + 0x6c8], eax
je 0x1401b3e8b
lea rdx, str.SOCKS5_GSS_API_protection_not_yet_implemented.
mov rcx, rsi
call fcn.14019b0a0
mov eax, 6
jmp 0x1401b4002
cmp dword [rbx], 0xf
mov qword [rbx + 8], 0xa
mov qword [rbx + 0x268], rdi
je 0x1401b3eb2
mov dword [rbx], reloc.WS2_32.dll_ntohs
jmp 0x1401b3eb2
mov rbp, qword [rsp + 0x40]
mov r14, r9
mov r15, rax
lea rax, str.SOCKS5_connect_request_ack
mov r9d, reloc.WS2_32.dll_recv
mov r8, rsi
mov qword [rsp + 0x20], rax
mov rdx, rbx
mov rcx, rbp
call fcn.1401b2920
test eax, eax
jne 0x1401b4002
cmp qword [rbx + 8], 0
jne 0x1401b4000
cmp byte [rdi], 5
je 0x1401b3f01
lea rdx, str.SOCKS5_reply_has_wrong_version__version_should_be_5.
mov rcx, rsi
call fcn.14019b0a0
mov eax, r15d
jmp 0x1401b4002
movzx eax, byte [rdi + 1]
test al, al
je 0x1401b3f43
mov r8, qword [rbx + 0x270]
lea rdx, str.Cant_complete_SOCKS5_connection_to__s.___d_
mov r9d, eax
mov rcx, rsi
mov ebp, 0x19
mov edi, eax
call fcn.14019b0a0
cmp edi, 9
jae 0x1401b3f3c
lea rbp, [0x140000000]
mov ebp, dword [rbp + rdi*4 + 0x2e1c20]
mov eax, ebp
jmp 0x1401b4002
movzx eax, byte [rdi + 3]
cmp al, 3
jne 0x1401b3f55
movzx eax, byte [rdi + 4]
add rax, 7
jmp 0x1401b3f69
cmp al, 4
jne 0x1401b3f60
mov eax, socket
jmp 0x1401b3f69
cmp al, 1
jne 0x1401b3fa0
mov eax, 0xa
cmp dword [r14 + 0x6c8], 0
jne 0x1401b3fbb
mov ecx, dword [rbx]
cmp rax, 0xa
jbe 0x1401b3f9b
add rax, 0xfffffffffffffff6
mov qword [rbx + 8], rax
lea rax, [rdi + 0xa]
mov qword [rbx + 0x268], rax
cmp ecx, 0x10
je 0x1401b3fbb
mov dword [rbx], reloc.WS2_32.dll_recv
jmp 0x1401b3fbb
cmp ecx, 0x11
jmp 0x1401b3fe9
lea rdx, str.SOCKS5_reply_has_wrong_address_type.
mov rcx, rsi
call fcn.14019b0a0
mov eax, 1
jmp 0x1401b4002
mov rbp, qword [rsp + 0x40]
lea rax, str.SOCKS5_connect_request_address
mov r9d, reloc.WS2_32.dll_listen
mov r8, rsi
mov qword [rsp + 0x20], rax
mov rdx, rbx
mov rcx, rbp
call fcn.1401b2920
test eax, eax
jne 0x1401b4002
cmp qword [rbx + 8], 0
jne 0x1401b4000
cmp dword [rbx], 0x11
je case.0x1401b3637.5
mov dword [rbx], reloc.WS2_32.dll_recvfrom
lea rdx, str.SOCKS5_request_granted.
mov rcx, rsi
call fcn.14019b1d0
xor eax, eax
mov rcx, qword [rsp + 0x90]
xor rcx, rsp
call fcn.1401f4d70
mov rbx, qword [rsp + 0xf8]
add rsp, 0xa0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret