Function at 0x14003e2e0
Capabilities:
Convert ip address from string

Disassembly:
push rbx
push rsi
push rdi
sub rsp, 0x80
mov rax, qword [0x14009a110]
xor rax, rsp
mov qword [rsp + 0x78], rax
mov rbx, rdx
lea r8, [rsp + 0x50]
mov rdi, rcx
lea rdx, str.__45_0123456789abcdefABCDEF:.__c
mov rcx, qword [rbx + 0xd0]
call fcn.140034ef0
cmp eax, 1
jne 0x14003e37a
cmp byte [rsp + 0x50], 0x5d
jne 0x14003e37a
inc qword [rbx + 0xd0]
lea edx, [rax + 0x5c]
mov rcx, qword [rbx + 0xd0]
mov byte [rbx + 0x3b2], al
call sub.VCRUNTIME140.dll_strchr
mov rsi, rax
test rax, rax
je 0x14003e3c2
inc rsi
mov byte [rax], 0
movzx eax, byte [rsi]
test al, al
je 0x14003e376
cmp al, 0x3a
je 0x14003e3c2
movsx r8d, al
lea rdx, str.IPv6_closing_bracket_followed_by__c
mov rcx, rdi
call fcn.140040bd0
mov eax, 3
jmp 0x14003e52a
xor esi, esi
jmp 0x14003e3c2
mov rdx, qword [rbx + 0xd0]
lea r8, [rsp + 0x58]
mov ecx, reloc.WS2_32.dll_socket
call qword [sym.imp.WS2_32.dll_inet_pton]
test eax, eax
jle 0x14003e3ae
lea rdx, str.IPv6_numerical_address_used_in_URL_without_brackets
mov rcx, rdi
call fcn.140040bd0
mov eax, 3
jmp 0x14003e52a
mov rcx, qword [rbx + 0xd0]
mov edx, Ordinal_60
call sub.VCRUNTIME140.dll_strchr
mov rsi, rax
mov eax, dword [rdi + 0x240]
mov qword [rsp + 0xb0], rbp
test eax, eax
je 0x14003e542
cmp byte [rdi + 0x4ca0], 0
je 0x14003e542
movzx eax, ax
mov dword [rbx + 0x17c], eax
test rsi, rsi
je 0x14003e3f6
mov byte [rsi], 0
cmp byte [rbx + 0x3ae], 0
je 0x14003e506
xor eax, eax
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x70], eax
cmp byte [rbx + 0x3c4], al
je 0x14003e450
cmp byte [rdi + 0x73c], al
je 0x14003e424
lea r9d, [rax + 0x41]
jmp 0x14003e43a
cmp byte [rdi + 0x73e], 0
mov eax, 0x44
mov r9d, 0x49
cmovne r9d, eax
lea r8, str._type_c
mov edx, ntohs
lea rcx, [rsp + 0x68]
call fcn.140043770
cmp byte [rdi + 0x5078], 0
lea r8, [0x140078008]
movzx eax, byte [rbx + 0x3b2]
lea rcx, [0x14007835c]
mov r9, r8
lea rdx, [0x1400797b4]
cmovne r9, rcx
test al, al
mov rcx, r8
lea rax, [rsp + 0x68]
mov qword [rsp + 0x40], rax
cmovne rcx, rdx
mov rax, qword [rdi + 0x5070]
lea rdx, [0x1400797b8]
mov qword [rsp + 0x38], rax
cmovne r8, rdx
mov rdx, qword [rbx + 0x3f8]
mov eax, dword [rbx + 0x17c]
mov qword [rsp + 0x30], r9
mov r9, qword [rbx + 0xd0]
mov rdx, qword [rdx]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rcx
lea rcx, str._s:___s_s_s:_d_s_s_s
call fcn.1400436a0
mov rsi, rax
test rax, rax
jne 0x14003e4e2
lea eax, [rsi + 0x1b]
jmp 0x14003e522
cmp byte [rdi + 0xa08], 0
je 0x14003e4f8
mov rcx, qword [rdi + 0xa00]
call qword [0x14009a030]
mov qword [rdi + 0xa00], rsi
mov byte [rdi + 0xa08], 1
cmp dword [rbx + 0x17c], 0
jge 0x14003e520
mov rax, qword [rbx + 0x3f8]
movzx ecx, word [rax + 0x78]
mov dword [rbx + 0x17c], ecx
xor eax, eax
mov rbp, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.14006f2e0
add rsp, 0x80
pop rdi
pop rsi
pop rbx
ret
test rsi, rsi
je 0x14003e506
lea rbp, [rsi + 1]
mov r8d, 0xa
mov rcx, rbp
lea rdx, [rsp + 0x68]
call sub.api_ms_win_crt_convert_l1_1_0.dll_strtol
cmp eax, 0xffff
ja 0x14003e5ac
mov rcx, qword [rsp + 0x68]
movzx edx, byte [rcx]
test dl, dl
je 0x14003e58b
movsx r8d, dl
mov rcx, rdi
lea rdx, str.Port_number_ended_with__c
call fcn.140040bd0
mov eax, 3
jmp 0x14003e522
mov byte [rsi], 0
cmp rcx, rbp
je 0x14003e506
mov ecx, eax
call fcn.140043190
movzx eax, ax
mov dword [rbx + 0x17c], eax
jmp 0x14003e506
lea rdx, str.Port_number_out_of_range
mov rcx, rdi
call fcn.140040bd0
mov eax, 3
jmp 0x14003e522