Function at 0x1400a1670
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0x98
mov rax, qword [0x1402de400]
xor rax, rsp
mov qword [rsp + 0x78], rax
movzx r15d, byte [rcx + 1]
mov r14, rcx
movzx ecx, word [rcx + 2]
mov edi, r9d
mov rsi, r8
mov qword [rsp + 0x30], r8
mov rbp, rdx
call qword [sym.imp.WS2_32.dll_ntohs]
movzx ebx, ax
test r15b, 4
je 0x1400a16d7
movzx ecx, word [r14 + 0xc]
call qword [sym.imp.WS2_32.dll_ntohs]
movzx r11d, ax
movzx eax, bx
sub rax, 0x10
cmp r11, rax
jbe 0x1400a1a0b
add edi, 0xfffffff0
mov ebx, 1
mov dword [rsp + 0x48], edi
jne 0x1400a16fd
test bl, r15b
je 0x1400a1951
mov eax, ebx
lock xadd dword [0x1402e6814], eax
jmp 0x1400a1951
mov ecx, edi
mov qword [rsp + 0x40], rcx
cmp rcx, 0xc
jae 0x1400a1719
mov eax, ebx
lock xadd dword [0x1402e6818], eax
jmp 0x1400a1951
mov qword [rsp + 0x88], r13
mov r13d, reloc.WS2_32.dll_inet_ntoa
cmp edi, r13d
jbe 0x1400a1949
mov qword [rsp + 0x90], r12
nop dword [rax + rax]
mov edi, r13d
lea rax, [rdi + 4]
cmp rax, rcx
ja 0x1400a1901
movzx r12d, byte [rdi + r14 + 0x10]
movzx ecx, word [rdi + r14 + 0x12]
mov byte [rsp + 0x50], r12b
call qword [sym.imp.WS2_32.dll_ntohs]
movzx esi, ax
cmp esi, 4
jb 0x1400a193c
test r12b, r12b
jne 0x1400a1810
cmp byte [rbp + 0x722], r12b
jne 0x1400a1935
cmp esi, 0x10
jbe 0x1400a192e
cmp esi, 0x2f
jae 0x1400a17a6
mov eax, ebx
lock xadd dword [0x1402e681c], eax
jmp 0x1400a18d0
lea rax, [rdi + 0x2f]
cmp rax, qword [rsp + 0x40]
ja 0x1400a1927
mov rax, qword [rdi + r14 + 0x20]
lea rcx, [rsp + 0x51]
mov qword [rcx], rax
mov rax, qword [rdi + r14 + 0x28]
mov qword [rcx + 8], rax
mov rax, qword [rdi + r14 + 0x30]
mov qword [rcx + 0x10], rax
mov eax, dword [rdi + r14 + 0x38]
mov dword [rcx + 0x18], eax
movzx eax, word [rdi + r14 + 0x3c]
mov word [rcx + 0x1c], ax
movzx eax, byte [rdi + r14 + 0x3e]
mov byte [rcx + 0x1e], al
mov eax, dword [rdi + r14 + 0x14]
mov dword [rsp + 0x70], eax
test bl, r15b
je 0x1400a18b6
mov eax, ebx
lock xadd dword [0x1402e680c], eax
jmp 0x1400a18b6
cmp r12b, 0x40
jne 0x1400a18a7
cmp byte [rbp + 0x722], 0
je 0x1400a1920
cmp esi, 0x14
jbe 0x1400a1919
cmp esi, 0x33
jae 0x1400a1844
mov eax, ebx
lock xadd dword [0x1402e681c], eax
jmp 0x1400a18d0
lea rax, [rdi + 0x33]
cmp rax, qword [rsp + 0x40]
ja 0x1400a1912
mov rax, qword [rdi + r14 + 0x24]
lea rcx, [rsp + 0x51]
mov qword [rcx], rax
mov rax, qword [rdi + r14 + 0x2c]
mov qword [rcx + 8], rax
mov rax, qword [rdi + r14 + 0x34]
mov qword [rcx + 0x10], rax
mov eax, dword [rdi + r14 + 0x3c]
mov dword [rcx + 0x18], eax
movzx eax, word [rdi + r14 + 0x40]
mov word [rcx + 0x1c], ax
movzx eax, byte [rdi + r14 + 0x42]
mov byte [rcx + 0x1e], al
mov eax, dword [rdi + r14 + 0x14]
mov dword [rsp + 0x70], eax
test bl, r15b
je 0x1400a18b6
mov eax, ebx
lock xadd dword [0x1402e680c], eax
jmp 0x1400a18b6
test bl, r15b
je 0x1400a18b6
mov eax, ebx
lock xadd dword [0x1402e6810], eax
mov r8, qword [rsp + 0x30]
lea rdx, [rsp + 0x50]
movzx r9d, r15b
mov rcx, rbp
call fcn.14009ed90
test eax, eax
jne 0x1400a18f0
mov rcx, qword [rsp + 0x40]
lea eax, [rsi + 3]
and eax, 0xfffffffc
add r13d, eax
cmp r13d, dword [rsp + 0x48]
jb 0x1400a1740
mov rsi, qword [rsp + 0x30]
jmp 0x1400a1941
mov eax, ebx
lock xadd dword [0x1402e6820], eax
mov rsi, qword [rsp + 0x30]
jmp 0x1400a1941
mov eax, ebx
lock xadd dword [0x1402e6818], eax
mov rsi, qword [rsp + 0x30]
jmp 0x1400a1941
mov rsi, qword [rsp + 0x30]
jmp 0x1400a1941
mov rsi, qword [rsp + 0x30]
jmp 0x1400a1941
mov rsi, qword [rsp + 0x30]
jmp 0x1400a1941
mov rsi, qword [rsp + 0x30]
jmp 0x1400a1941
mov rsi, qword [rsp + 0x30]
jmp 0x1400a1941
mov rsi, qword [rsp + 0x30]
jmp 0x1400a1941
mov rsi, qword [rsp + 0x30]
mov r12, qword [rsp + 0x90]
mov r13, qword [rsp + 0x88]
and r15b, bl
jne 0x1400a19ce
lock xadd dword [0x1402e6808], ebx
mov ecx, dword [r14 + 4]
call qword [sym.imp.WS2_32.dll_ntohl]
mov ecx, dword [r14 + 8]
mov dword [rsp + 0x38], eax
call qword [sym.imp.WS2_32.dll_ntohl]
mov ecx, dword [rsp + 0x38]
mov dword [rsp + 0x3c], eax
test ecx, ecx
je 0x1400a19d6
test eax, eax
je 0x1400a19d6
cmp ecx, eax
jbe 0x1400a19c4
sub ecx, eax
je 0x1400a19c4
mov eax, dword [rbp + 0x5cc]
xor edx, edx
cmp ecx, eax
jbe 0x1400a19a4
sub ecx, eax
mov dword [rbp + 0x584], ecx
jmp 0x1400a19aa
mov dword [rbp + 0x584], edx
mov rax, qword [rbp + 8]
mov ecx, dword [rax + 0x1d8]
cmp dword [rbp + 0x584], ecx
jae 0x1400a19d6
mov dword [rbp + 0x584], edx
jmp 0x1400a19d6
xor edx, edx
mov dword [rbp + 0x584], edx
jmp 0x1400a19d6
lock xadd dword [0x1402e6804], ebx
test r15b, r15b
je 0x1400a1a0b
cmp byte [rbp + 0x731], 0
jne 0x1400a1a0b
cmp byte [rbp + 0x70c], 0
je 0x1400a1a0b
lea rax, [rsp + 0x3c]
lea r9, [rsp + 0x38]
mov r8, r14
mov rdx, rsi
mov rcx, rbp
mov qword [rsp + 0x20], rax
call qword [rbp + 0x448]
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.1401e42a0
add rsp, 0x98
pop r15
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret