Function at 0x1401603f0
Capabilities:
Convert ip address from string

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x98
mov rax, qword [rcx + 0x18]
mov rsi, rcx
mov rcx, qword [rax + 0x200]
mov rbx, rdx
mov rdi, r8
test rcx, rcx
je 0x1401606d8
mov rax, qword [rcx]
lea rdx, [rsp + 0x64]
lea r9, [rsp + 0x68]
mov qword [rsp + 0x20], rdx
lea r8, [rsp + 0x70]
mov rdx, rsi
call qword [rax + 0x30]
mov r13, qword [rsp + 0x70]
mov rcx, r13
lea r12, [rsp + 0x80]
call sub.msvcrt.dll_strlen
mov qword [rsp + 0x38], rax
test byte [rbx + 0x361], 8
jne 0x140160638
mov rbx, qword [sym.imp.WS2_32.dll_inet_pton]
mov rdx, r13
mov ecx, 2
mov r8, r12
call rbx
mov ecx, eax
neg ecx
sbb r13, r13
and r13d, 4
cmp eax, 1
sbb ebp, ebp
and ebp, 0xfffffffb
add ebp, 7
mov rcx, qword [rdi + 0x68]
xor r8d, r8d
mov edx, 0x55
call fcn.1402745f0
mov r15, rax
test rax, rax
je 0x1401605a8
mov edx, dword [rax]
test edx, edx
jle 0x140160588
movsxd r10, edx
mov qword [rsp + 0x48], r12
mov r14, rsi
mov r12d, ebp
mov byte [rsp + 0x47], 0
xor ebx, ebx
xor r9d, r9d
mov rsi, rdi
mov byte [rsp + 0x40], 0
mov rbp, r10
jmp 0x1401604f5
cmp eax, 7
je 0x140160670
add rbx, 1
cmp rbx, rbp
je 0x140160540
mov edx, dword [r15]
cmp edx, ebx
jle 0x140359d9b
mov rax, qword [r15 + 8]
mov rdx, qword [rax + rbx*8]
mov eax, dword [rdx]
cmp eax, 2
jne 0x1401604e0
cmp r12d, 2
jne 0x140160530
mov rax, qword [rdx + 8]
mov rcx, qword [rax + 8]
movsxd rdi, dword [rax]
mov qword [rsp + 0x50], rcx
call sub.msvcrt.dll_strlen
cmp rax, rdi
je 0x1401607c8
add rbx, 1
mov r9d, 1
cmp rbx, rbp
jne 0x1401604f2
nop
xor r8d, r8d
lea rcx, [rsp + 0x78]
mov qword [rsp + 0x78], r15
mov rdi, rsi
lea rdx, [0x1403f9700]
mov rsi, r14
mov r14d, r9d
call fcn.1401c2560
cmp byte [rsp + 0x47], 0
je 0x140160690
xor eax, eax
add rsp, 0x98
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, [rsp + 0x78]
xor r8d, r8d
mov qword [rsp + 0x78], rax
lea rdx, [0x1403f9700]
call fcn.1401c2560
nop dword [rax]
mov qword [rsp + 0x78], 0
mov rdi, qword [rdi + 0x48]
test rdi, rdi
je 0x140160740
mov eax, 0xffffffff
nop dword [rax + rax]
mov r8d, eax
mov edx, 0xd
mov rcx, rdi
mov ebx, eax
call fcn.14022bd70
test eax, eax
jns 0x1401605c8
cmp ebx, 0xffffffff
jne 0x140160700
mov r8, qword [rsp + 0x78]
test r8, r8
je 0x140160740
xor edi, edi
cmp byte [r8], 0
mov rcx, qword [rsp + 0x70]
je 0x140160610
test rcx, rcx
je 0x140160610
cmp byte [rcx], 0
jne 0x1401608a0
mov r9, qword [rsp + 0x68]
mov rcx, rsi
lea rdx, str.SSL:_certificate_subject_name__s_does_not_match_target_host_name__s
call fcn.1401234a0
mov rcx, qword [rsp + 0x78]
mov eax, 0x3c
jmp 0x140160759
mov rbx, qword [sym.imp.WS2_32.dll_inet_pton]
mov r8, r12
mov rdx, r13
mov ecx, 0x17
call rbx
test eax, eax
je 0x140160660
mov r13d, 0x10
mov ebp, 7
jmp 0x14016048e
mov r13, qword [rsp + 0x70]
jmp 0x14016046b
cmp r12d, 7
jne 0x140160686
mov rax, qword [rdx + 8]
movsxd rdx, dword [rax]
cmp r13, rdx
je 0x140160778
mov byte [rsp + 0x40], 1
jmp 0x1401604e9
test r14b, r14b
jne 0x1401606a0
cmp byte [rsp + 0x40], 0
je 0x1401605a8
mov r8, qword [rsp + 0x68]
lea rdx, str._subjectAltName_does_not_match__s
mov rcx, rsi
call fcn.140123250
mov r8, qword [rsp + 0x68]
lea rdx, str.SSL:_no_alternative_certificate_subject_name_matches_target_host_name__s
mov rcx, rsi
call fcn.1401234a0
mov eax, 0x3c
jmp 0x14016056f
mov r13, qword [rax + 0x80]
mov rdx, qword [rax + 0x88]
mov eax, dword [rax + 0x564]
mov qword [rsp + 0x70], r13
mov qword [rsp + 0x68], rdx
mov dword [rsp + 0x64], eax
jmp 0x140160442
mov edx, ebx
mov rcx, rdi
call fcn.14022be30
test rax, rax
je 0x1401605e7
mov rbx, qword [rax + 8]
test rbx, rbx
je 0x1401605e7
cmp dword [rbx + 4], 0xc
jne 0x14016084d
mov edi, dword [rbx]
test edi, edi
jns 0x1401608d5
cmp qword [rsp + 0x78], 0
jne 0x140160882
mov rcx, rsi
lea rdx, str.SSL:_unable_to_obtain_common_name_from_peer_certificate
call fcn.1401234a0
mov rcx, qword [rsp + 0x78]
mov eax, 0x3c
test rcx, rcx
je 0x14016056f
mov dword [rsp + 0x40], eax
call fcn.14034efb0
mov eax, dword [rsp + 0x40]
jmp 0x14016056f
mov rcx, qword [rax + 8]
mov rdx, qword [rsp + 0x48]
mov r8, r13
mov byte [rsp + 0x50], r9b
call sub.msvcrt.dll_memcmp
mov byte [rsp + 0x40], 1
movzx r9d, byte [rsp + 0x50]
test eax, eax
jne 0x1401604e9
mov r8, qword [rsp + 0x68]
lea rdx, str._subjectAltName:_host___s__matched_certs_IP_address_
mov rcx, r14
call fcn.140123250
mov byte [rsp + 0x47], 1
movzx r9d, byte [rsp + 0x50]
jmp 0x1401604e9
mov rdi, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x70]
mov r10, qword [rsp + 0x68]
cmp byte [rdi], 0
setne r9b
test rcx, rcx
setne dl
and r9b, dl
je 0x140160530
cmp byte [rcx], 0
je 0x1401604e9
mov rdx, qword [rsp + 0x38]
mov r9, rax
mov r8, rdi
mov qword [rsp + 0x58], r10
call fcn.14016c0d0
mov r10, qword [rsp + 0x58]
test al, al
je 0x140160530
mov r9, qword [rsp + 0x50]
mov r8, r10
mov rcx, r14
lea rdx, str._subjectAltName:_host___s__matched_certs___s_
call fcn.140123250
lea rcx, [rsp + 0x78]
xor r8d, r8d
lea rdx, [0x1403f9700]
mov qword [rsp + 0x78], r15
call fcn.1401c2560
jmp 0x14016056d
mov rdx, rbx
lea rcx, [rsp + 0x78]
call fcn.1401b9900
mov rbx, qword [rsp + 0x78]
mov edi, eax
test rbx, rbx
je 0x140160740
mov rcx, rbx
call sub.msvcrt.dll_strlen
mov r8, rbx
and eax, 0x7fffffff
cmp eax, edi
je 0x1401605f7
mov rcx, rsi
lea rdx, str.SSL:_illegal_cert_name_field
call fcn.1401234a0
mov rcx, qword [rsp + 0x78]
mov eax, 0x3c
jmp 0x140160759
mov rdx, qword [rsp + 0x38]
movsxd r9, edi
call fcn.14016c0d0
mov r8, qword [rsp + 0x78]
test al, al
je 0x140160610
mov rcx, rsi
lea rdx, str._common_name:__s__matched_
call fcn.140123250
mov rcx, qword [rsp + 0x78]
xor eax, eax
jmp 0x140160759
lea ecx, [rdi + 1]
xor r8d, r8d
lea rdx, [0x1403f68b4]
movsxd rcx, ecx
call fcn.1402003e0
mov rcx, rax
mov qword [rsp + 0x78], rax
mov eax, 0x1b
test rcx, rcx
je 0x14016056f
movsxd rax, edi
mov rdx, qword [rbx + 8]
mov r8, rax
mov rbx, rax
call sub.msvcrt.dll_memcpy
mov rax, qword [rsp + 0x78]
mov byte [rax + rbx], 0
mov rbx, qword [rsp + 0x78]
test rbx, rbx
jne 0x14016086a
jmp 0x140160740
mov eax, dword [pe_dos_header]
ud2