Function at 0x1400bb660
Capabilities:
Convert ip address from string

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x158
mov rax, qword [0x14013aa80]
xor rax, rsp
mov qword [rsp + 0x150], rax
mov byte [r8], 0
test rcx, rcx
je 0x1400bbaf3
mov r12, rdx
xor r14d, r14d
test rdx, rdx
je 0x1400bbaf6
mov rbx, rcx
movzx esi, byte [rcx]
test sil, sil
je 0x1400bbaf6
movzx ebp, byte [r12]
test bpl, bpl
je 0x1400bbaf3
mov rdi, r8
lea rcx, [0x140121b2d]
mov rdx, r12
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
mov r14b, 1
test eax, eax
je 0x1400bbaf6
mov rcx, rbx
cmp sil, 0x5b
jne 0x1400bb738
mov edx, 0x5d
call sub.VCRUNTIME140.dll_strchr
test rax, rax
je 0x1400bbaf3
inc rbx
sub rax, rbx
cmp rax, 0x7f
ja 0x1400bbaf3
mov rsi, rax
lea r13, [rsp + 0xb0]
mov rcx, r13
mov rdx, rbx
mov r8, rax
call sub.VCRUNTIME140.dll_memcpy
mov qword [rsp + 0x28], rsi
mov byte [rsp + rsi + 0xb0], 0
mov r9d, 2
mov rbx, r13
jmp 0x1400bb78b
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov rsi, rax
lea r8, [rsp + 0xb0]
mov ecx, 2
mov rdx, rbx
call qword [sym.imp.WS2_32.dll_inet_pton]
mov r9d, 1
cmp eax, 1
jne 0x1400bb768
mov qword [rsp + 0x28], rsi
jmp 0x1400bb77d
cmp byte [rbx + rsi - 1], 0x2e
lea rax, [rsi - 1]
cmove rsi, rax
mov qword [rsp + 0x28], rsi
xor r9d, r9d
movzx ebp, byte [r12]
test bpl, bpl
je 0x1400bbaf3
movabs r15, 0x100100000201
mov qword [rsp + 0x20], r9
jmp 0x1400bb7a9
movzx ebp, byte [r12 + 1]
inc r12
cmp bpl, 9
je 0x1400bb7a0
movzx eax, bpl
cmp eax, 0x20
je 0x1400bb7a0
lea r14, [r12 - 1]
mov r13, 0xffffffffffffffff
xor esi, esi
mov eax, ebp
jmp 0x1400bb7df
movzx eax, byte [r12 + r13 + 2]
dec rsi
inc r13
inc r14
cmp al, 0x2c
ja 0x1400bb7d0
movzx eax, al
bt r15, rax
jae 0x1400bb7d0
test rsi, rsi
je 0x1400bba70
mov r8, rsi
neg r8
lea eax, [r9 - 1]
cmp eax, 2
jae 0x1400bb860
cmp r8, 0x80
jae 0x1400bba70
lea rbp, [rsp + 0x30]
mov rcx, rbp
mov rdx, r12
call sub.VCRUNTIME140.dll_memcpy
mov byte [rsp + r13 + 0x31], 0
mov rcx, rbp
mov edx, 0x2f
call sub.VCRUNTIME140.dll_strchr
test rax, rax
je 0x1400bb892
mov r13, rax
mov rcx, rax
inc rcx
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
mov ebp, eax
mov byte [r13], 0
cmp dword [rsp + 0x20], 2
jne 0x1400bb968
test ebp, ebp
jne 0x1400bb8a2
jmp 0x1400bb89d
test r9d, r9d
jne 0x1400bba70
cmp byte [r12 + r13], 0x2e
cmove r8, r13
test r8, r8
je 0x1400bb960
cmp bpl, 0x2e
jne 0x1400bb988
lea rcx, [r12 + 1]
dec r8
jmp 0x1400bb98b
cmp dword [rsp + 0x20], 2
jne 0x1400bb9cb
mov ebp, 0x80
mov ecx, reloc.WS2_32.dll_socket
mov rdx, rbx
lea r8, [rsp + 0x140]
call qword [sym.imp.WS2_32.dll_inet_pton]
cmp eax, 1
jne 0x1400bba5d
mov ecx, reloc.WS2_32.dll_socket
lea rdx, [rsp + 0x30]
lea r8, [rsp + 0x130]
call qword [sym.imp.WS2_32.dll_inet_pton]
cmp ebp, 0x87
ja 0x1400bba5d
cmp eax, 1
jne 0x1400bba5d
mov r13d, ebp
shr r13, 3
mov edx, ebp
and edx, 7
cmp r13d, 0x10
jne 0x1400bb908
test edx, edx
jne 0x1400bba5d
cmp ebp, 8
jb 0x1400bb931
mov r8d, r13d
lea rcx, [rsp + 0x140]
mov ebp, edx
lea rdx, [rsp + 0x130]
call sub.VCRUNTIME140.dll_memcmp
mov edx, ebp
test eax, eax
jne 0x1400bba5d
test edx, edx
je 0x1400bbaee
movzx eax, byte [rsp + r13 + 0x130]
xor al, byte [rsp + r13 + 0x140]
movzx eax, al
mov cl, 8
sub cl, dl
shr eax, cl
test eax, eax
je 0x1400bba5d
jmp 0x1400bbaee
mov rcx, r12
xor r8d, r8d
jmp 0x1400bb98b
mov dword [rsp + 0x140], 0
mov dword [rsp + 0x130], 0
cmp ebp, 0x20
jbe 0x1400bb9e3
jmp 0x1400bba5d
mov rcx, r12
mov rax, qword [rsp + 0x28]
mov rdx, rax
sub rdx, r8
jne 0x1400bb9b5
mov rdx, rbx
mov r8, rax
call fcn.140091060
mov r9, qword [rsp + 0x20]
test eax, eax
je 0x1400bba70
jmp 0x1400bbaee
jbe 0x1400bba70
cmp byte [rdx + rbx - 1], 0x2e
jne 0x1400bba70
add rdx, rbx
jmp 0x1400bb99e
mov dword [rsp + 0x140], 0
mov dword [rsp + 0x130], 0
xor ebp, ebp
mov ecx, 2
mov rdx, rbx
lea r8, [rsp + 0x140]
call qword [sym.imp.WS2_32.dll_inet_pton]
cmp eax, 1
jne 0x1400bba5d
mov ecx, 2
lea rdx, [rsp + 0x30]
lea r8, [rsp + 0x130]
call qword [sym.imp.WS2_32.dll_inet_pton]
cmp eax, 1
jne 0x1400bba5d
test bpl, 0x1f
je 0x1400bbad9
mov ecx, dword [rsp + 0x140]
mov r13, qword [sym.imp.WS2_32.dll_htonl]
call r13
mov rdx, r13
mov r13d, eax
mov ecx, dword [rsp + 0x130]
call rdx
xor eax, r13d
neg bpl
mov ecx, ebp
shr eax, cl
test eax, eax
mov r9, qword [rsp + 0x20]
jne 0x1400bba70
jmp 0x1400bbaee
mov r9, qword [rsp + 0x20]
nop word cs:[rax + rax]
sub r12, rsi
jmp 0x1400bba8b
cmp eax, 0x20
jne 0x1400bbaa0
inc r12
inc r14
movzx eax, byte [r12]
cmp eax, 0x1f
jg 0x1400bba80
cmp eax, 9
je 0x1400bba85
test eax, eax
je 0x1400bbab0
jmp 0x1400bbac0
cmp eax, 0x2c
jne 0x1400bbac0
nop word cs:[rax + rax]
movzx ebp, byte [r14 + 1]
inc r14
cmp bpl, 0x2c
je 0x1400bbab0
jmp 0x1400bbacb
mov byte [rdi], 1
movzx ebp, byte [r12]
mov r14, r12
mov r12, r14
test bpl, bpl
jne 0x1400bb7a9
jmp 0x1400bbaf3
mov eax, dword [rsp + 0x140]
cmp eax, dword [rsp + 0x130]
mov r9, qword [rsp + 0x20]
jne 0x1400bba70
mov r14b, 1
jmp 0x1400bbaf6
xor r14d, r14d
mov rcx, qword [rsp + 0x150]
xor rcx, rsp
call fcn.1400d2000
mov eax, r14d
add rsp, 0x158
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret