Function at 0x1401a5890
Capabilities:
Convert ip address from string

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r13
push r14
lea rbp, [rsp - 0x27]
sub rsp, 0xb8
mov rax, qword [0x14032f0c0]
xor rax, rsp
mov qword [rbp + 0x17], rax
mov r10, qword [rbp + 0x7f]
mov r13, 0xffffffffffffffff
mov rdi, qword [rcx + 0x20]
mov rax, r13
mov qword [rbp - 0x41], r10
mov r14d, r8d
mov dword [rbp - 0x61], r13d
mov rsi, rdx
mov qword [rbp + 7], rdi
mov rbx, rcx
mov byte [rbp - 0x59], r9b
mov dword [rbp - 0x5d], r8d
inc rax
cmp byte [rdx + rax], 0
jne 0x1401a58e2
lea r11, [0x1402e0f40]
cmp rax, 7
jb 0x1401a59b9
lea r9, [rdx + rax]
lea rdx, [r9 - 6]
test rdx, rdx
je 0x1401a594f
cmp byte [rdx], 0
lea r8, str..onion
je 0x1401a593a
movzx eax, byte [r8]
test al, al
je 0x1401a593a
movzx ecx, byte [rdx]
movzx eax, byte [rax + r11]
cmp byte [rcx + r11], al
jne 0x1401a59b1
inc rdx
inc r8
cmp byte [rdx], 0
jne 0x1401a5915
xor ecx, ecx
cmp byte [rdx], cl
sete cl
xor eax, eax
cmp byte [r8], al
setne al
xor ecx, eax
test ecx, ecx
jne 0x1401a599a
lea rdx, [r9 - 7]
test rdx, rdx
je 0x1401a59b9
cmp byte [rdx], 0
lea r8, str..onion.
je 0x1401a5985
movzx eax, byte [r8]
test al, al
je 0x1401a5985
movzx ecx, byte [rdx]
movzx eax, byte [rax + r11]
cmp byte [rcx + r11], al
jne 0x1401a59b5
inc rdx
inc r8
cmp byte [rdx], 0
jne 0x1401a5964
xor ecx, ecx
cmp byte [rdx], cl
sete cl
xor eax, eax
cmp byte [r8], al
setne al
xor ecx, eax
test ecx, ecx
je 0x1401a59b9
lea rdx, str.Not_resolving_.onion_address__RFC_7686_
mov rcx, rbx
call fcn.14019b0a0
mov eax, r13d
jmp 0x1401a5eaf
xor ecx, ecx
jmp 0x1401a594b
xor ecx, ecx
jmp 0x1401a5996
mov qword [r10], 0
mov qword [rsp + 0x108], r12
mov r12d, 2
mov byte [rdi + 0x2c2], 0
mov r9, qword [rbx + 0xe8]
mov qword [rsp + 0xb0], r15
test r9, r9
je 0x1401a5a0a
test byte [r9 + 4], 8
je 0x1401a5a0a
mov rax, qword [r9 + 0x10]
test rax, rax
je 0x1401a5a0a
mov r9, qword [r9 + 0x20]
lea edx, [r12 + 1]
mov r8d, r12d
mov rcx, rbx
call rax
mov r8d, r14d
mov rdx, rsi
mov rcx, rbx
call fcn.1401a51b0
mov qword [rbp - 0x49], rax
mov r15, rax
test rax, rax
je 0x1401a5a41
mov r8, rsi
lea rdx, str.Hostname__s_was_found_in_DNS_cache
mov rcx, rbx
call fcn.14019b1d0
inc dword [r15 + 0x10]
mov dword [rbp - 0x61], 0
mov r8, qword [rbx + 0xe8]
test r8, r8
je 0x1401a5a6b
test byte [r8 + 4], 8
je 0x1401a5a6b
mov rax, qword [r8 + 0x18]
test rax, rax
je 0x1401a5a6b
mov r8, qword [r8 + 0x20]
mov edx, 3
mov rcx, rbx
call rax
test r15, r15
jne 0x1401a5e95
xor r14d, r14d
mov dword [rbp - 0x55], r14d
cmp qword [rbx + 0xa18], r14
je 0x1401a5ae5
mov rax, qword [rbx + 0xe0]
lea rdi, [rbx + 0xd8]
test rax, rax
jne 0x1401a5a9f
mov rax, qword [rdi]
test rax, rax
je 0x1401a5aa6
mov byte [rax + 0x1ab], 1
mov r8, qword [rbx + 0xa20]
xor edx, edx
mov rcx, qword [rbx + 0xe08]
call qword [rbx + 0xa18]
mov ecx, eax
mov rax, qword [rbx + 0xe0]
test rax, rax
jne 0x1401a5ad2
mov rax, qword [rdi]
test rax, rax
je 0x1401a5ad9
mov byte [rax + 0x1ab], r14b
test ecx, ecx
jne 0x1401a609a
mov rdi, qword [rbp + 7]
lea r8, [rbp - 0x51]
mov rdx, rsi
mov ecx, r12d
call qword [sym.imp.WS2_32.dll_inet_pton]
test eax, eax
jle 0x1401a5b02
lea rdx, [rbp - 0x51]
mov ecx, r12d
jmp 0x1401a5b21
lea r8, [rbp - 9]
mov rdx, rsi
mov ecx, reloc.WS2_32.dll_socket
call qword [sym.imp.WS2_32.dll_inet_pton]
test eax, eax
jle 0x1401a5b41
lea rdx, [rbp - 9]
mov ecx, reloc.WS2_32.dll_socket
mov r14d, dword [rbp - 0x5d]
mov r8, rsi
mov r9d, r14d
call fcn.1401d1ae0
mov rdi, rax
test rax, rax
je 0x1401a609a
jmp 0x1401a5e2d
cmp byte [rdi + 0x6e3], r12b
jne 0x1401a5b89
mov rax, qword [rbx + 0xd8]
cmp byte [rax + 0x1a8], r14b
jne 0x1401a5b75
xor ecx, ecx
call fcn.1401a57a0
test al, al
mov rax, qword [rbx + 0xd8]
setne cl
inc cl
mov byte [rax + 0x1a8], cl
mov rax, qword [rbx + 0xd8]
cmp byte [rax + 0x1a8], r12b
jne 0x1401a609a
lea r10, [0x1402e0f40]
test rsi, rsi
je 0x1401a5be2
lea r8, str.localhost
mov rdx, rsi
cmp byte [rsi], r14b
je 0x1401a5bc9
movzx eax, byte [r8]
test al, al
je 0x1401a5bc9
movzx ecx, byte [rdx]
movzx eax, byte [rax + r10]
cmp byte [rcx + r10], al
jne 0x1401a5c45
inc rdx
inc r8
cmp byte [rdx], r14b
jne 0x1401a5ba4
xor ecx, ecx
cmp byte [rdx], cl
sete cl
xor eax, eax
cmp byte [r8], al
setne al
xor ecx, eax
test ecx, ecx
jne 0x1401a5c68
mov rax, r13
inc rax
cmp byte [rsi + rax], r14b
jne 0x1401a5be5
cmp rax, 0xa
jb 0x1401a5df4
lea r8, [rsi - 0xa]
add r8, rax
je 0x1401a5c5e
mov r9d, 0xa
lea rdx, str..localhost
nop
movzx eax, byte [r8]
test al, al
je 0x1401a5c39
test r9, r9
je 0x1401a5c3e
movzx ecx, byte [rdx]
movzx eax, byte [rax + r10]
cmp byte [rcx + r10], al
jne 0x1401a5c5e
inc rdx
dec r9
inc r8
cmp byte [rdx], r14b
jne 0x1401a5c10
test r9, r9
jne 0x1401a5c49
mov edx, 1
jmp 0x1401a5c60
xor ecx, ecx
jmp 0x1401a5bda
movzx ecx, byte [rdx]
movzx eax, byte [r8]
movzx eax, byte [rax + r10]
cmp byte [rcx + r10], al
sete dl
jmp 0x1401a5c60
xor edx, edx
test dl, dl
je 0x1401a5df4
mov rdi, r13
nop dword [rax + rax]
cmp byte [rsi + rdi + 1], r14b
lea rdi, [rdi + 1]
jne 0x1401a5c70
movzx ecx, word [rbp - 0x5d]
mov qword [rbp + 0xf], r14
mov word [rbp + 7], r12w
call qword [sym.imp.WS2_32.dll_htons]
lea r8, [rbp - 0x55]
mov ecx, r12d
lea rdx, str.127.0.0.1
mov word [rbp + 9], ax
call qword [sym.imp.WS2_32.dll_inet_pton]
cmp eax, 1
jl 0x1401a5e95
mov eax, dword [rbp - 0x55]
lea rdx, [rdi + 0x41]
mov ecx, 1
mov dword [rbp + 0xb], eax
call qword [str._1_]
mov r14, rax
test rax, rax
je 0x1401a5e95
movups xmm0, xmmword [rbp + 7]
xor r15d, r15d
mov dword [rax + 4], r12d
mov dword [rax], r15d
mov rdx, rsi
mov dword [rax + 8], 1
mov dword [rax + 0xc], 6
mov dword [rax + reloc.WS2_32.dll_recv], 0x10
add rax, 0x30
mov qword [r14 + 0x20], rax
lea rcx, [rax + 0x10]
movups xmmword [rax], xmm0
mov qword [r14 + 0x18], rcx
nop dword [rax]
movzx eax, byte [rdx]
lea rdx, [rdx + 1]
mov byte [rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x1401a5d10
cmp byte [rsi + r13 + 1], r15b
lea r13, [r13 + 1]
jne 0x1401a5d21
lea rdx, [r13 + 0x4d]
mov ecx, 1
call qword [str._1_]
mov rdi, rax
test rax, rax
je 0x1401a5deb
movzx ecx, word [rbp - 0x5d]
mov r12d, reloc.WS2_32.dll_socket
mov word [rbp - 0x39], r12w
call qword [sym.imp.WS2_32.dll_htons]
lea r8, [rbp + 7]
mov dword [rbp - 0x35], r15d
lea rdx, [0x1402f6a0c]
mov word [rbp - 0x37], ax
mov ecx, r12d
call qword [sym.imp.WS2_32.dll_inet_pton]
cmp eax, 1
jl 0x1401a5deb
movups xmm1, xmmword [rbp + 7]
lea rax, [rdi + 0x30]
mov dword [rdi], r15d
mov dword [rdi + 4], r12d
lea rcx, [rax + 0x1c]
mov dword [rdi + 8], 1
mov rdx, rsi
mov dword [rdi + 0xc], 6
mov dword [rdi + 0x10], 0x1c
mov qword [rdi + 0x28], r15
mov qword [rdi + 0x20], rax
movups xmmword [rbp - 0x31], xmm1
movups xmm0, xmmword [rbp - 0x39]
unpckhpd xmm1, xmm1
movups xmmword [rax], xmm0
movsd qword [rax + 0x10], xmm1
mov dword [rax + 0x18], r15d
mov qword [rdi + 0x18], rcx
nop dword [rax]
movzx eax, byte [rdx]
lea rdx, [rdx + 1]
mov byte [rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x1401a5dd0
mov qword [rdi + 0x28], r14
mov r14d, dword [rbp - 0x5d]
jmp 0x1401a5e2d
mov rdi, r14
mov r14d, dword [rbp - 0x5d]
jmp 0x1401a5e2d
cmp byte [rbp - 0x59], r14b
je 0x1401a5ee8
cmp byte [rbx + 0xaa5], r14b
je 0x1401a5ee8
mov r14d, dword [rbp - 0x5d]
lea r9, [rbp - 0x55]
mov r8d, r14d
mov rdx, rsi
mov rcx, rbx
call fcn.1401de8e0
mov rdi, rax
test rax, rax
je 0x1401a5edf
cmp qword [rbx + 0xe8], 0
je 0x1401a5e44
mov edx, 3
mov rcx, rbx
call fcn.14019dad0
xor r9d, r9d
mov dword [rsp + 0x20], r14d
mov r8, rsi
mov rdx, rdi
mov rcx, rbx
call fcn.1401a54b0
cmp qword [rbx + 0xe8], 0
mov r15, rax
je 0x1401a5e74
mov edx, 3
mov rcx, rbx
call fcn.14019db10
test r15, r15
jne 0x1401a5ecb
test rdi, rdi
je 0x1401a5e95
nop
mov rbx, qword [rdi + 0x28]
mov rcx, rdi
call qword [fcn.140229280]
mov rdi, rbx
test rbx, rbx
jne 0x1401a5e80
mov eax, dword [rbp - 0x61]
mov rcx, qword [rbp - 0x41]
mov qword [rcx], r15
mov r12, qword [rsp + 0x108]
mov r15, qword [rsp + 0xb0]
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.1401f4d70
add rsp, 0xb8
pop r14
pop r13
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov rdx, r15
mov dword [rbp - 0x61], 0
mov rcx, rbx
call fcn.1401a69a0
jmp 0x1401a5e95
mov r14d, dword [rbp - 0x55]
jmp 0x1401a6057
cmp byte [rdi + 0x6e3], r12b
jne 0x1401a5f30
mov rax, qword [rbx + 0xd8]
cmp byte [rax + 0x1a8], r14b
jne 0x1401a5f1c
xor ecx, ecx
call fcn.1401a57a0
test al, al
mov rax, qword [rbx + 0xd8]
setne cl
inc cl
mov byte [rax + 0x1a8], cl
mov rax, qword [rbx + 0xd8]
cmp byte [rax + 0x1a8], r12b
jne 0x1401a609a
mov rcx, qword [rbx + 0x20]
mov rdi, qword [rbx + 0xe08]
cmp byte [rcx + 0x6e3], 1
je 0x1401a5f97
mov rax, qword [rbx + 0xd8]
cmp byte [rax + 0x1a8], r14b
jne 0x1401a5f73
xor ecx, ecx
call fcn.1401a57a0
test al, al
mov rax, qword [rbx + 0xd8]
setne cl
inc cl
mov byte [rax + 0x1a8], cl
mov rcx, qword [rbx + 0x20]
mov rax, qword [rbx + 0xd8]
cmp byte [rax + 0x1a8], r12b
jne 0x1401a5f97
cmp byte [rcx + 0x6e3], r12b
jne 0x1401a5f94
mov r12d, reloc.WS2_32.dll_socket
jmp 0x1401a5f97
xor r12d, r12d
xor eax, eax
xorps xmm0, xmm0
cmp byte [rcx + 0x6e2], 3
movups xmmword [rbp - 0x39], xmm0
setne al
mov dword [rbp - 0x35], r12d
inc eax
cmp byte [0x140336ac1], r14b
movups xmmword [rbp - 0x29], xmm0
mov dword [rbp - 0x31], eax
movups xmmword [rbp - 0x19], xmm0
je 0x1401a5ff9
lea rcx, [rbp + 7]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov r8, qword [0x140336ab8]
mov rax, qword [rbp + 7]
cqo
idiv r8
mov qword [rbp - 9], rax
mov rax, qword [rbp + 7]
cqo
idiv r8
imul rax, rdx, 0xf4240
cqo
idiv r8
jmp 0x1401a601f
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
mov eax, 0x10624dd3
mul ecx
shr edx, 6
mov eax, edx
mov qword [rbp - 9], rax
imul eax, edx, 0x3e8
sub ecx, eax
imul eax, ecx, 0x3e8
mov r8d, dword [rbp - 0x5d]
lea r9, [rbp - 0x39]
mov dword [rbp - 1], eax
mov rdx, rsi
movups xmm0, xmmword [rbp - 9]
mov rcx, rbx
movups xmmword [rdi], xmm0
call fcn.14019c5f0
test al, al
je 0x1401a6048
mov r14d, 1
jmp 0x1401a6057
lea rdx, str.getaddrinfo___thread_failed_to_start
mov rcx, rbx
call fcn.14019b0a0
test r14d, r14d
je 0x1401a5e95
mov rax, qword [rbx + 0x20]
lea rdx, [rbp - 0x49]
mov rcx, rbx
cmp byte [rax + 0x2c2], 0
je 0x1401a607b
call fcn.1401df120
jmp 0x1401a6080
call fcn.14019cab0
mov r15, qword [rbp - 0x49]
mov edi, eax
test r15, r15
je 0x1401a6096
mov rdx, r15
mov rcx, rbx
call fcn.1401a69a0
test edi, edi
je 0x1401a60a2
mov eax, r13d
jmp 0x1401a5e9f
xor eax, eax
test r15, r15
sete al
jmp 0x1401a5e98