Function at 0x140110340
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, 0x178
movaps xmmword [rsp + 0x160], xmm6
mov rax, qword [0x14051d038]
xor rax, rsp
mov qword [rsp + 0x158], rax
mov byte [r8], 0
test rcx, rcx
je 0x14011042c
mov rbx, rdx
xor r15d, r15d
test rdx, rdx
je 0x14011042f
mov r14, rcx
mov sil, byte [rcx]
test sil, sil
je 0x14011042f
mov bpl, byte [rbx]
test bpl, bpl
je 0x14011042c
mov rdi, r8
lea rcx, [0x1404896ce]
mov rdx, rbx
call fcn.140302ec0
mov r15b, 1
test eax, eax
je 0x14011042f
movaps xmm6, xmmword [0x14047fb40]
movaps xmmword [rsp + 0x120], xmm6
movaps xmmword [rsp + 0x110], xmm6
movaps xmmword [rsp + 0x100], xmm6
movaps xmmword [rsp + 0xf0], xmm6
movaps xmmword [rsp + 0xe0], xmm6
movaps xmmword [rsp + 0xd0], xmm6
movaps xmmword [rsp + 0xc0], xmm6
movaps xmmword [rsp + 0xb0], xmm6
cmp sil, 0x5b
jne 0x14011045e
mov rcx, r14
mov edx, 0x5d
call fcn.1402e1098
test rax, rax
je 0x14011042c
inc r14
sub rax, r14
cmp rax, 0x7f
jbe 0x1401104cf
xor r15d, r15d
mov rcx, qword [rsp + 0x158]
xor rcx, rsp
call fcn.1402ddd70
mov eax, r15d
movaps xmm6, xmmword [rsp + 0x160]
add rsp, 0x178
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea r12, [rsp + 0x30]
mov dword [r12], 0xaaaaaaaa
mov rcx, r14
call fcn.140303550
mov rsi, rax
mov ecx, 2
mov rdx, r14
mov r8, r12
call qword [sym.imp.WS2_32.dll_inet_pton]
mov r9d, 1
cmp eax, 1
je 0x1401104aa
xor eax, eax
cmp byte [r14 + rsi - 1], 0x2e
sete al
sub rsi, rax
mov qword [rsp + 0x28], rsi
xor r9d, r9d
jmp 0x1401104af
mov qword [rsp + 0x28], rsi
mov bpl, byte [rbx]
test bpl, bpl
je 0x14011042c
movabs r15, 0x100100000201
mov qword [rsp + 0x20], r9
jmp 0x140110774
mov rsi, rax
lea r13, [rsp + 0xb0]
mov rcx, r13
mov rdx, r14
mov r8, rax
call fcn.1402e0660
mov qword [rsp + 0x28], rsi
mov byte [rsp + rsi + 0xb0], 0
mov r9d, 2
mov r14, r13
jmp 0x1401104bb
mov eax, dword [rsp + 0x140]
cmp eax, dword [rsp + 0x130]
jmp 0x140110595
xor ebp, ebp
mov dword [rsp + 0x140], ebp
mov dword [rsp + 0x130], ebp
mov ecx, 2
mov rdx, r14
lea r8, [rsp + 0x140]
call qword [sym.imp.WS2_32.dll_inet_pton]
cmp eax, 1
jne 0x140110728
mov ecx, 2
lea rdx, [rsp + 0x30]
lea r8, [rsp + 0x130]
call qword [sym.imp.WS2_32.dll_inet_pton]
cmp eax, 1
jne 0x140110728
test bpl, 0x1f
je 0x140110500
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 0x14011072d
jmp 0x140110844
xor ebp, ebp
cmp dword [rsp + 0x20], 2
jne 0x140110513
movaps xmmword [rsp + 0x140], xmm6
test ebp, ebp
mov eax, 0x80
cmove ebp, eax
movaps xmmword [rsp + 0x130], xmm6
mov ecx, reloc.WS2_32.dll_socket
mov rdx, r14
lea r8, [rsp + 0x140]
call qword [sym.imp.WS2_32.dll_inet_pton]
cmp eax, 1
jne 0x140110728
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 0x140110728
cmp eax, 1
jne 0x140110728
mov r13d, ebp
shr r13d, 3
mov edx, ebp
and edx, 7
cmp r13d, 0x10
jne 0x140110632
test edx, edx
jne 0x140110728
cmp ebp, 8
jb 0x14011065b
mov r8d, r13d
lea rcx, [rsp + 0x140]
mov ebp, edx
lea rdx, [rsp + 0x130]
call fcn.1402e0560
mov edx, ebp
test eax, eax
jne 0x140110728
test edx, edx
je 0x140110844
mov al, 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 0x140110728
jmp 0x140110844
movaps xmmword [rsp + 0xa0], xmm6
movaps xmmword [rsp + 0x90], xmm6
movaps xmmword [rsp + 0x80], xmm6
movaps xmmword [rsp + 0x70], xmm6
movaps xmmword [rsp + 0x60], xmm6
movaps xmmword [rsp + 0x50], xmm6
movaps xmmword [rsp + 0x40], xmm6
movaps xmmword [rsp + 0x30], xmm6
cmp r8, 0x80
jae 0x14011072d
lea rbp, [rsp + 0x30]
mov rcx, rbp
mov rdx, rbx
call fcn.1402e0660
mov byte [rsp + r13 + 0x31], 0
mov rcx, rbp
mov edx, 0x2f
call fcn.1402e1098
test rax, rax
je 0x1401105a5
mov r13, rax
mov rcx, rax
inc rcx
call fcn.1402fec4c
mov ebp, eax
mov byte [r13], 0
cmp dword [rsp + 0x20], 2
je 0x1401105b2
xor eax, eax
mov dword [rsp + 0x140], eax
mov dword [rsp + 0x130], eax
cmp ebp, 0x20
jbe 0x140110523
mov r9, qword [rsp + 0x20]
sub rbx, rsi
jmp 0x14011073d
cmp eax, 0x20
jne 0x140110756
inc rbx
inc r12
movzx eax, byte [rbx]
cmp eax, 0x1f
jg 0x140110732
cmp eax, 9
je 0x140110737
test eax, eax
je 0x14011075b
mov byte [rdi], 1
mov bpl, byte [rbx]
jmp 0x14011076b
cmp eax, 0x2c
jne 0x14011074e
mov rbx, r12
mov bpl, byte [rbx + 1]
inc rbx
cmp bpl, 0x2c
je 0x14011075e
test bpl, bpl
je 0x14011042c
lea r12, [rbx - 1]
jmp 0x140110784
mov bpl, byte [rbx + 1]
inc rbx
inc r12
cmp bpl, 9
je 0x14011077a
movzx eax, bpl
cmp eax, 0x20
je 0x14011077a
mov r13, 0xffffffffffffffff
xor esi, esi
mov eax, ebp
jmp 0x1401107ae
mov al, byte [rbx + r13 + 2]
dec rsi
inc r13
inc r12
cmp al, 0x2c
ja 0x1401107a0
movzx eax, al
bt r15, rax
jae 0x1401107a0
test rsi, rsi
je 0x14011072d
mov r8, rsi
neg r8
lea eax, [r9 - 1]
cmp eax, 2
jb 0x140110689
test r9d, r9d
jne 0x14011072d
cmp byte [rbx + r13], 0x2e
cmove r8, r13
test r8, r8
je 0x140110802
cmp bpl, 0x2e
je 0x1401107f9
mov rcx, rbx
jmp 0x140110808
lea rcx, [rbx + 1]
dec r8
jmp 0x140110808
mov rcx, rbx
xor r8d, r8d
mov rax, qword [rsp + 0x28]
mov rdx, rax
sub rdx, r8
je 0x14011082c
jbe 0x14011072d
cmp byte [rdx + r14 - 1], 0x2e
jne 0x14011072d
add rdx, r14
jmp 0x140110832
mov rdx, r14
mov r8, rax
call fcn.14011a710
mov r9, qword [rsp + 0x20]
test eax, eax
je 0x14011072d
mov r15b, 1
jmp 0x14011042f