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

Disassembly:
test rcx, rcx
je 0x1400b7044
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbx
push rsi
push r15
sub rsp, 0x60
xor esi, esi
mov ebx, r9d
mov r15, rcx
mov dword [rsp + 0x20], esi
mov dword [rsp + 0x24], esi
cmp byte [rcx + 0x721], sil
je 0x1400b703c
cmp qword [rcx], rsi
je 0x1400b703c
mov qword [rsp + 0x58], rbp
mov rbp, qword [rcx + 0x320]
mov qword [rsp + 0x50], rdi
or edi, 0xffffffff
test rbp, rbp
jne 0x1400b67be
mov rcx, qword [0x1402e80e0]
call fcn.1401e6440
mov rbp, rax
test rax, rax
je 0x1400b7032
mov ecx, 1
lock xadd dword [0x1402e81e0], ecx
mov qword [rax + 0x50], rsi
mov byte [rax + 0x78], sil
jmp 0x1400b680f
mov rcx, qword [rbp + 0x58]
test rcx, rcx
je 0x1400b67d1
mov rax, qword [rbp + 0x60]
mov qword [rcx + 0x60], rax
jmp 0x1400b67dc
mov rax, qword [rbp + 0x60]
mov qword [r15 + 0x328], rax
mov rax, qword [rbp + 0x58]
mov rcx, qword [rbp + 0x60]
mov qword [rcx], rax
mov eax, edi
lock xadd dword [0x1402e81f8], eax
mov byte [rbp + 0x78], sil
mov eax, 1
lock xadd dword [0x1402e8570], eax
mov eax, 0xffff
add word [r15 + 0x6fe], ax
mov rdi, qword [rsp + 0x90]
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x38], r14
mov r14d, reloc.WS2_32.dll_inet_ntoa
mov byte [rbp + 0x7d], sil
mov word [rbp + 0x6e], si
mov byte [rbp], 0x81
mov byte [rbp + 1], 1
lea r12d, [r14 - 8]
mov word [rbp + 0x70], bx
mov ecx, r14d
mov rsi, rdi
lea r13, [rsp + 0x80]
test rdi, rdi
je 0x1400b686c
test ecx, ecx
jle 0x1400b68be
mov eax, dword [rsi + 0x18]
cmp ecx, eax
jl 0x1400b68be
mov rsi, qword [rsi]
sub ecx, eax
test rsi, rsi
jne 0x1400b6857
mov edx, dword [r15 + 0x524]
movsxd r8, dword [rsp + 0x98]
mov eax, 0x800
cmp edx, eax
lea rcx, [r8 + 0x5c]
cmovb eax, edx
cmp rcx, rax
jbe 0x1400b6b76
mov dword [rsp + 0x24], r8d
mov r8d, 0x800
mov ebx, 1
cmp edx, r8d
mov dword [rsp + 0x20], ebx
cmovb r8d, edx
add r8d, 0xffffffb4
mov dword [rsp + 0x98], r8d
jmp 0x1400b6b7b
test rsi, rsi
je 0x1400b686c
mov eax, dword [rsi + 0x18]
sub eax, ecx
cmp eax, r12d
jl 0x1400b68d8
movsxd rbx, ecx
add rbx, qword [rsi + 0x10]
je 0x1400b686c
jmp 0x1400b6930
test r12d, r12d
jle 0x1400b6911
mov eax, dword [rsi + 0x18]
movsxd rdx, ecx
mov edi, r12d
sub eax, ecx
mov rcx, r13
cmp eax, r12d
cmovl edi, eax
add rdx, qword [rsi + 0x10]
mov r8d, edi
mov ebx, edi
call fcn.1401e75a0
mov rsi, qword [rsi]
sub r12d, edi
add r13, rbx
xor ecx, ecx
test rsi, rsi
jne 0x1400b68d8
jmp 0x1400b6916
test rsi, rsi
jne 0x1400b691f
test r12d, r12d
jg 0x1400b686c
mov rdi, qword [rsp + 0x90]
lea rbx, [rsp + 0x80]
nop
movzx ecx, word [rbx + 2]
call qword [sym.imp.WS2_32.dll_ntohs]
movzx r11d, ax
cmp r11d, 4
jb 0x1400b686c
movzx ecx, byte [rbx]
sub ecx, 2
je 0x1400b6a2c
sub ecx, 4
je 0x1400b6a2c
cmp ecx, 0x7b
je 0x1400b6a2c
lea eax, [r11 + 3]
mov r12d, 4
mov rsi, rdi
and eax, 0xfffffffc
lea r13, [rsp + 0x80]
add r14d, eax
mov ecx, r14d
js 0x1400b686c
nop word [rax + rax]
test ecx, ecx
jle 0x1400b69aa
mov eax, dword [rsi + 0x18]
cmp ecx, eax
jl 0x1400b69aa
mov rsi, qword [rsi]
sub ecx, eax
test rsi, rsi
jne 0x1400b6990
jmp 0x1400b686c
test rsi, rsi
je 0x1400b686c
mov eax, dword [rsi + 0x18]
sub eax, ecx
cmp eax, r12d
jl 0x1400b69d0
movsxd rbx, ecx
add rbx, qword [rsi + 0x10]
jne 0x1400b6930
jmp 0x1400b686c
test r12d, r12d
jle 0x1400b6a09
mov eax, dword [rsi + 0x18]
movsxd rdx, ecx
mov edi, r12d
sub eax, ecx
mov rcx, r13
cmp eax, r12d
cmovl edi, eax
add rdx, qword [rsi + 0x10]
mov r8d, edi
mov ebx, edi
call fcn.1401e75a0
mov rsi, qword [rsi]
sub r12d, edi
add r13, rbx
xor ecx, ecx
test rsi, rsi
jne 0x1400b69d0
jmp 0x1400b6a0e
test rsi, rsi
jne 0x1400b6a17
test r12d, r12d
jg 0x1400b686c
mov rdi, qword [rsp + 0x90]
lea rbx, [rsp + 0x80]
jmp 0x1400b6930
cmp byte [rbp + 0x78], 0
je 0x1400b6a45
movzx edx, word [rbp + 0x76]
xor r8d, r8d
mov rcx, r15
call fcn.1400bef50
mov byte [rbp + 0x78], 0
mov rcx, qword [rbp + 0x50]
test rcx, rcx
je 0x1400b6b0b
or edi, 0xffffffff
mov eax, edi
lock xadd dword [rcx + 0x1e8], eax
cmp eax, 1
jne 0x1400b6b01
mov rax, qword [rbp + 0x50]
mov rcx, qword [rax + 0xd0]
test rcx, rcx
je 0x1400b6aab
cmp dword [rcx + 0x14], 1
jg 0x1400b6a8e
dec dword [rcx + 0x14]
cmp dword [rcx + 0x14], 0
jg 0x1400b6a91
call fcn.1401e64f8
jmp 0x1400b6a91
dec dword [rcx + 0x14]
mov rax, qword [rbp + 0x50]
xor ebx, ebx
mov qword [rax + 0xd0], rbx
mov rax, qword [rbp + 0x50]
mov qword [rax + 0xd0], rbx
jmp 0x1400b6aad
xor ebx, ebx
mov rcx, qword [rbp + 0x50]
cmp byte [rcx + 0x24b], 0
je 0x1400b6ad1
mov rcx, qword [rcx + 0xf8]
call fcn.14007a5b0
mov r11, qword [rbp + 0x50]
mov qword [r11 + 0xf8], rbx
mov rax, qword [rbp + 0x50]
mov ecx, 0xfffe
mov byte [rax + 0x24b], 0
mov rax, qword [rbp + 0x50]
and word [rax + 0x23c], cx
mov rcx, qword [rbp + 0x50]
call fcn.1401e64f8
mov r11d, edi
lock xadd dword [0x1402e81dc], r11d
mov qword [rbp + 0x50], 0
jmp 0x1400b6b0e
or edi, 0xffffffff
movzx eax, word [r15 + 0x6fe]
cmp eax, dword [0x1402e8664]
ja 0x1400b7013
mov eax, dword [0x1402e8660]
cmp dword [0x1402e81f8], eax
ja 0x1400b7013
mov qword [rbp + 0x58], 0
mov rax, qword [r15 + 0x328]
lea rcx, [rbp + 0x58]
mov qword [rbp + 0x60], rax
mov rax, qword [r15 + 0x328]
mov qword [rax], rbp
inc word [r15 + 0x6fe]
mov qword [r15 + 0x328], rcx
mov ecx, 1
lock xadd dword [0x1402e81f8], ecx
jmp 0x1400b7023
mov ebx, 1
lea rax, [r15 + 0x58]
xor r12d, r12d
xor r13d, r13d
mov esi, 0x800
xor r14d, r14d
mov qword [rbp + 0x30], rax
cmp esi, 0xb0
jle 0x1400b6c49
mov rcx, qword [0x1402e8788]
call fcn.1401e6440
mov rdi, rax
test rax, rax
je 0x1400b6bef
xor ecx, ecx
mov dword [rax + 0x1c], 2
mov word [rax + 0x20], bx
mov qword [rax], rcx
mov qword [rax + 8], rcx
mov dword [rax + 0x18], ecx
add rax, 0x50
mov qword [rdi + 0x28], rcx
mov dword [rdi + 0x38], ecx
mov qword [rdi + 0x30], rcx
mov dword [rdi + 0x3c], ecx
mov dword [rdi + 0x40], ecx
mov qword [rdi + 0x10], rax
mov word [rdi + 0x44], cx
mov word [rdi + 0x46], cx
mov qword [rdi + 0x48], rcx
jmp 0x1400b6bf1
xor ecx, ecx
mov qword [rdi + 0x50], rcx
mov rcx, qword [0x1402e8790]
call fcn.1401e6440
mov rcx, qword [0x1402e8798]
mov rbx, rax
call fcn.1401e6440
mov ecx, 1
mov dword [rax], ecx
or dword [rdi + 0x1c], ecx
xor ecx, ecx
mov qword [rdi + 0x50], rbx
mov qword [rdi + 0x10], rbx
mov ebx, 1
mov qword [rdi + 0x70], rax
mov qword [rdi + 0x58], rcx
mov qword [rdi + 0x60], rcx
mov dword [rdi + 0x78], ebx
mov dword [rdi + 0x68], 0x800
mov eax, 0x800
jmp 0x1400b6cf7
test r14b, 2
je 0x1400b6cb9
mov rcx, qword [0x1402e8788]
call fcn.1401e6440
mov rdi, rax
test rax, rax
je 0x1400b6cab
xor ecx, ecx
mov dword [rax + 0x1c], 2
mov word [rax + 0x20], bx
mov qword [rax], rcx
mov qword [rax + 8], rcx
mov dword [rax + 0x18], ecx
add rax, 0x50
mov qword [rdi + 0x28], rcx
mov dword [rdi + 0x38], ecx
mov qword [rdi + 0x10], rax
mov eax, 0xb0
mov qword [rdi + 0x30], rcx
cmp esi, eax
mov dword [rdi + 0x3c], ecx
mov dword [rdi + 0x40], ecx
mov word [rdi + 0x44], cx
mov word [rdi + 0x46], cx
mov qword [rdi + 0x48], rcx
cmovl eax, esi
jmp 0x1400b6cf7
mov eax, 0xb0
xor ecx, ecx
cmp esi, eax
cmovl eax, esi
jmp 0x1400b6cf7
mov rcx, qword [0x1402e8788]
call fcn.1401e6440
mov rdi, rax
test rax, rax
je 0x1400b6ceb
xor ecx, ecx
mov word [rax + 0x20], bx
add rax, 0x28
mov qword [rax - 0x28], rcx
mov qword [rax - 0x20], rcx
mov dword [rax - 0x10], ecx
mov dword [rax - 0xc], ecx
mov qword [rdi + 0x10], rax
jmp 0x1400b6ced
xor ecx, ecx
mov eax, 0xd8
cmp esi, eax
cmovl eax, esi
test rdi, rdi
je 0x1400b6d43
cmp eax, 0x800
jl 0x1400b6d37
sub esi, eax
test r13, r13
je 0x1400b6d10
mov qword [r13], rdi
jmp 0x1400b6d13
mov r12, rdi
and r14d, 0xfffffffd
mov r13, rdi
test esi, esi
jg 0x1400b6b91
test r14b, 4
je 0x1400b6d30
or dword [rdi + 0x1c], 4
nop dword [rax]
test r12, r12
je 0x1400b6d52
jmp 0x1400b6d55
mov rcx, rdi
call fcn.1400795b0
xor ecx, ecx
jmp 0x1400b6d52
test r12, r12
je 0x1400b6d52
mov rcx, r12
call fcn.1400795b0
xor ecx, ecx
mov r12, rcx
mov qword [rbp + 0x40], r12
test r12, r12
je 0x1400b6ee5
add qword [r12 + 0x10], 0x20
mov rcx, qword [rbp + 0x40]
mov rbx, qword [rcx + 0x10]
test rbx, rbx
jne 0x1400b6d88
call fcn.1400795b0
xor esi, esi
lea ebx, [rsi + 1]
mov qword [rbp + 0x40], rsi
jmp 0x1400b6ee7
movzx eax, word [rbp + 0x70]
mov ecx, 0xfffc
mov byte [rbp + 0x7b], 0
add ax, 0x4f
and ax, cx
cmp dword [rsp + 0x20], 0
mov word [rbp + 0x72], ax
je 0x1400b6dd1
movzx ecx, word [rsp + 0x24]
mov byte [rbx + 1], 4
call sub.WS2_32.dll_htons
mov r12d, dword [rsp + 0x98]
sub r12w, 0x10
mov word [rbx + 0xc], ax
movzx r12d, r12w
mov word [rbp + 0x70], r12w
jmp 0x1400b6de8
xor ecx, ecx
mov byte [rbx + 1], 0
call sub.WS2_32.dll_htons
mov r12d, dword [rsp + 0x98]
mov word [rbx + 0xc], ax
cmp dword [rsp + 0xa8], 0
je 0x1400b6df6
or byte [rbx + 1], 2
add word [rbp + 0x70], 0x10
mov rax, qword [rbp + 0x40]
movzx ecx, word [rbp + 0x70]
mov dword [rax + 0x18], ecx
mov rax, qword [rsp + 0x88]
xor r13d, r13d
mov dword [rbp + 0x68], r13d
mov word [rbp + 0x6c], r13w
test rax, rax
je 0x1400b6e32
mov qword [rbp + 0x50], rax
mov ecx, 1
lock xadd dword [rax + 0x1e8], ecx
jmp 0x1400b6e36
mov qword [rbp + 0x50], r13
mov byte [rbx], 0x81
movzx ecx, word [rbp + 0x70]
call sub.WS2_32.dll_htons
mov word [rbx + 2], ax
mov rax, qword [r15]
mov edi, dword [rax + 0x160]
test edi, edi
cmovs edi, r13d
mov ecx, edi
call sub.WS2_32.dll_htonl
mov dword [rbx + 4], eax
cmp dword [r15 + 0x588], r13d
je 0x1400b6e90
mov rax, qword [r15]
mov ecx, dword [rax + 0x15c]
add ecx, dword [r15 + 0x5e0]
add ecx, dword [r15 + 0x5c0]
add ecx, dword [r15 + 0x5a0]
call sub.WS2_32.dll_htonl
mov dword [rbx + 8], eax
jmp 0x1400b6e9a
mov ecx, edi
call sub.WS2_32.dll_htonl
mov dword [rbx + 8], eax
mov rcx, qword [rsp + 0x90]
lea r9, [rbx + 0x10]
mov r8d, r12d
xor edx, edx
mov word [rbx + 0xe], r13w
call fcn.140079f60
mov qword [rbp + 0x58], r13
mov rax, qword [r15 + 0x338]
mov qword [rbp + 0x60], rax
mov rax, qword [r15 + 0x338]
lea r11, [rbp + 0x58]
mov qword [rax], rbp
mov qword [r15 + 0x338], r11
inc dword [r15 + 0x5a8]
jmp 0x1400b7023
xor esi, esi
cmp byte [rbp + 0x78], 0
je 0x1400b6f00
movzx edx, word [rbp + 0x76]
xor r8d, r8d
mov rcx, r15
call fcn.1400bef50
mov byte [rbp + 0x78], 0
mov rcx, qword [rbp + 0x50]
test rcx, rcx
je 0x1400b6fbc
or edi, 0xffffffff
mov eax, edi
lock xadd dword [rcx + 0x1e8], eax
cmp eax, 1
jne 0x1400b6fb6
mov rax, qword [rbp + 0x50]
mov rcx, qword [rax + 0xd0]
test rcx, rcx
je 0x1400b6f62
cmp dword [rcx + 0x14], 1
jg 0x1400b6f49
dec dword [rcx + 0x14]
cmp dword [rcx + 0x14], 0
jg 0x1400b6f4c
call fcn.1401e64f8
jmp 0x1400b6f4c
dec dword [rcx + 0x14]
mov rax, qword [rbp + 0x50]
mov qword [rax + 0xd0], rsi
mov rax, qword [rbp + 0x50]
mov qword [rax + 0xd0], rsi
mov rcx, qword [rbp + 0x50]
cmp byte [rcx + 0x24b], 0
je 0x1400b6f86
mov rcx, qword [rcx + 0xf8]
call fcn.14007a5b0
mov r11, qword [rbp + 0x50]
mov qword [r11 + 0xf8], rsi
mov rax, qword [rbp + 0x50]
mov ecx, 0xfffe
mov byte [rax + 0x24b], 0
mov rax, qword [rbp + 0x50]
and word [rax + 0x23c], cx
mov rcx, qword [rbp + 0x50]
call fcn.1401e64f8
mov r11d, edi
lock xadd dword [0x1402e81dc], r11d
mov qword [rbp + 0x50], rsi
jmp 0x1400b6fbf
or edi, 0xffffffff
movzx eax, word [r15 + 0x6fe]
cmp eax, dword [0x1402e8664]
ja 0x1400b7013
mov eax, dword [0x1402e8660]
cmp dword [0x1402e81f8], eax
ja 0x1400b7013
mov qword [rbp + 0x58], rsi
mov rax, qword [r15 + 0x328]
lea rcx, [rbp + 0x58]
mov qword [rbp + 0x60], rax
mov rax, qword [r15 + 0x328]
mov qword [rax], rbp
inc word [r15 + 0x6fe]
mov qword [r15 + 0x328], rcx
lock xadd dword [0x1402e81f8], ebx
jmp 0x1400b7023
mov rcx, rbp
call fcn.1401e64f8
lock xadd dword [0x1402e81e0], edi
mov r13, qword [rsp + 0x40]
mov r12, qword [rsp + 0x48]
mov r14, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x50]
add rsp, 0x60
pop r15
pop rsi
pop rbx
repz ret