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

Disassembly:
test rdx, rdx
je 0x1400b6161
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
push rbx
push rbp
sub rsp, 0x68
mov rbp, rcx
lea rcx, [rsp + 0x98]
mov rbx, rdx
call qword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
mov eax, dword [rsp + 0x9c]
mov r11d, dword [rsp + 0x98]
mov dword [rsp + 0x24], eax
movabs rax, 0x19db1ded53e8000
mov dword [rsp + 0x20], r11d
mov r9, qword [rsp + 0x20]
sub r9, rax
movabs rax, 0xd6bf94d5e57a42bd
mul r9
mov rax, rdx
shr rax, 0x17
mov qword [rsp + 0x28], rax
imul rax, rax, 0x989680
sub r9, rax
movabs rax, 0xcccccccccccccccd
mul r9
mov rax, rdx
shr rax, 3
cmp word [rbx + 0xd8], 0x7b
mov qword [rsp + 0x30], rax
jne 0x1400b615b
mov qword [rsp + 0x80], rsi
mov rsi, qword [rbp + 0x320]
xor edx, edx
mov qword [rsp + 0x50], r13
test rsi, rsi
jne 0x1400b5b00
mov rcx, qword [0x1402e80e0]
call fcn.1401e6440
mov rsi, rax
test rax, rax
je 0x1400b614e
mov r13d, 1
mov ecx, r13d
lock xadd dword [0x1402e81e0], ecx
xor edx, edx
mov qword [rax + 0x50], rdx
mov byte [rax + 0x78], dl
jmp 0x1400b5b54
mov rcx, qword [rsi + 0x58]
test rcx, rcx
je 0x1400b5b13
mov rax, qword [rsi + 0x60]
mov qword [rcx + 0x60], rax
jmp 0x1400b5b1e
mov rax, qword [rsi + 0x60]
mov qword [rbp + 0x328], rax
mov rax, qword [rsi + 0x58]
mov rcx, qword [rsi + 0x60]
mov qword [rcx], rax
or eax, 0xffffffff
lock xadd dword [0x1402e81f8], eax
mov r13d, 1
mov byte [rsi + 0x78], dl
mov eax, r13d
lock xadd dword [0x1402e8570], eax
mov eax, 0xffff
add word [rbp + 0x6fe], ax
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x48], r14
lea rax, [rbp + 0x58]
mov r12d, 0x2c
mov qword [rsp + 0x40], r15
mov byte [rsi + 0x7d], 0
mov byte [rsi], 4
mov byte [rsi + 1], 1
mov qword [rsi + 0x30], rax
mov word [rsi + 0x70], r12w
mov word [rsi + 0x6e], dx
mov rbx, rdx
mov qword [rsp + 0x20], rdx
mov r15, rdx
mov r14d, edx
nop dword [rax + rax]
cmp r12d, 0xb0
jle 0x1400b5c58
mov rcx, qword [0x1402e8788]
call fcn.1401e6440
mov rdi, rax
test rax, rax
je 0x1400b5c00
xor ecx, ecx
mov dword [rax + 0x1c], 2
mov word [rax + 0x20], r13w
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 0x1400b5c02
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 dword [rax], r13d
or dword [rdi + 0x1c], 1
xor edx, edx
mov qword [rdi + 0x50], rbx
mov qword [rdi + 0x10], rbx
mov rbx, qword [rsp + 0x20]
mov qword [rdi + 0x70], rax
mov qword [rdi + 0x58], rdx
mov qword [rdi + 0x60], rdx
mov dword [rdi + 0x68], 0x800
mov dword [rdi + 0x78], r13d
mov eax, 0x800
jmp 0x1400b5d0e
test r14b, 2
je 0x1400b5ccd
mov rcx, qword [0x1402e8788]
call fcn.1401e6440
mov rdi, rax
test rax, rax
je 0x1400b5cbd
xor edx, edx
mov dword [rax + 0x1c], 2
mov word [rax + 0x20], r13w
mov qword [rax], rdx
mov qword [rax + 8], rdx
mov dword [rax + 0x18], edx
add rax, 0x50
mov qword [rdi + 0x28], rdx
mov dword [rdi + 0x38], edx
mov qword [rdi + 0x10], rax
mov eax, 0xb0
mov qword [rdi + 0x30], rdx
cmp r12d, eax
mov dword [rdi + 0x3c], edx
mov dword [rdi + 0x40], edx
mov word [rdi + 0x44], dx
mov word [rdi + 0x46], dx
mov qword [rdi + 0x48], rdx
cmovl eax, r12d
jmp 0x1400b5d0e
mov eax, 0xb0
xor edx, edx
cmp r12d, eax
cmovl eax, r12d
jmp 0x1400b5d0e
mov rcx, qword [0x1402e8788]
call fcn.1401e6440
mov rdi, rax
test rax, rax
je 0x1400b5d00
xor edx, edx
mov word [rax + 0x20], r13w
add rax, 0x28
mov qword [rax - 0x28], rdx
mov qword [rax - 0x20], rdx
mov dword [rax - 0x10], edx
mov dword [rax - 0xc], edx
mov qword [rdi + 0x10], rax
jmp 0x1400b5d02
xor edx, edx
mov eax, 0xd8
cmp r12d, eax
cmovl eax, r12d
test rdi, rdi
je 0x1400b5d5a
cmp eax, 0x2c
jl 0x1400b5d4e
sub r12d, eax
test r15, r15
je 0x1400b5d25
mov qword [r15], rdi
jmp 0x1400b5d2d
mov rbx, rdi
mov qword [rsp + 0x20], rbx
and r14d, 0xfffffffd
mov r15, rdi
test r12d, r12d
jg 0x1400b5ba0
test r14b, 4
je 0x1400b5d47
or dword [rdi + 0x1c], 4
test rbx, rbx
je 0x1400b5d69
jmp 0x1400b5d6c
mov rcx, rdi
call fcn.1400795b0
xor edx, edx
jmp 0x1400b5d69
test rbx, rbx
je 0x1400b5d69
mov rcx, rbx
call fcn.1400795b0
xor edx, edx
mov rbx, rdx
mov r15, qword [rsp + 0x40]
mov r14, qword [rsp + 0x48]
mov qword [rsi + 0x40], rbx
test rbx, rbx
jne 0x1400b5e98
cmp byte [rsi + 0x78], bl
je 0x1400b5da1
mov r8d, dword [rsp + 0x90]
movzx edx, word [rsi + 0x76]
mov rcx, rbp
call fcn.1400bef50
mov byte [rsi + 0x78], bl
xor edx, edx
mov rcx, qword [rsi + 0x50]
test rcx, rcx
je 0x1400b5e64
or ebx, 0xffffffff
mov eax, ebx
lock xadd dword [rcx + 0x1e8], eax
cmp eax, 1
jne 0x1400b5e5e
mov rax, qword [rsi + 0x50]
mov rcx, qword [rax + 0xd0]
test rcx, rcx
je 0x1400b5e05
cmp dword [rcx + 0x14], 1
jg 0x1400b5dec
dec dword [rcx + 0x14]
cmp dword [rcx + 0x14], 0
jg 0x1400b5def
call fcn.1401e64f8
xor edx, edx
jmp 0x1400b5def
dec dword [rcx + 0x14]
mov rax, qword [rsi + 0x50]
mov qword [rax + 0xd0], rdx
mov rax, qword [rsi + 0x50]
mov qword [rax + 0xd0], rdx
mov rcx, qword [rsi + 0x50]
cmp byte [rcx + 0x24b], 0
je 0x1400b5e2c
mov rcx, qword [rcx + 0xf8]
call fcn.14007a5b0
mov r11, qword [rsi + 0x50]
xor r12d, r12d
mov qword [r11 + 0xf8], r12
mov rax, qword [rsi + 0x50]
mov ecx, 0xfffe
mov byte [rax + 0x24b], 0
mov rax, qword [rsi + 0x50]
and word [rax + 0x23c], cx
mov rcx, qword [rsi + 0x50]
call fcn.1401e64f8
mov r11d, ebx
lock xadd dword [0x1402e81dc], r11d
xor edx, edx
mov qword [rsi + 0x50], rdx
jmp 0x1400b5e67
or ebx, 0xffffffff
movzx eax, word [rbp + 0x6fe]
cmp eax, dword [0x1402e8664]
ja 0x1400b60ee
mov eax, dword [0x1402e8660]
cmp dword [0x1402e81f8], eax
ja 0x1400b60ee
lea rcx, [rsi + 0x58]
mov qword [rcx], rdx
jmp 0x1400b60c0
add qword [rbx + 0x10], 0x20
mov rax, qword [rsi + 0x40]
movzx ecx, word [rsi + 0x70]
mov rdi, qword [rsp + 0x88]
mov dword [rax + 0x18], ecx
mov dword [rsi + 0x68], edx
mov word [rsi + 0x6c], dx
mov eax, r13d
mov qword [rsi + 0x50], rdi
lock xadd dword [rdi + 0x1e8], eax
mov rcx, qword [rsi + 0x40]
xor eax, eax
mov rbx, qword [rcx + 0x10]
mov qword [rbx], rax
mov qword [rbx + 8], rax
mov qword [rbx + 0x10], rax
mov qword [rbx + 0x18], rax
mov qword [rbx + 0x20], rax
mov dword [rbx + 0x28], eax
mov byte [rbx], 4
mov byte [rbx + 1], al
movzx ecx, word [rsi + 0x70]
call sub.WS2_32.dll_htons
mov ecx, r13d
mov word [rbx + 2], ax
call sub.WS2_32.dll_htons
mov ecx, 0x28
mov word [rbx + 4], ax
call sub.WS2_32.dll_htons
mov r12d, 0
mov word [rbx + 6], ax
mov rax, qword [rsp + 0x28]
mov dword [rbx + 8], eax
mov rax, qword [rsp + 0x30]
mov dword [rbx + 0xc], eax
movzx eax, byte [rdi + 0xd8]
mov byte [rbx + 0x18], al
cmp word [rdi + 0xd8], 0x7b
mov eax, reloc.WS2_32.dll_recv
cmovne eax, r12d
mov byte [rbx + 0x19], al
mov eax, 0x200
test word [rdi + 0x23c], ax
je 0x1400b5f89
mov rcx, qword [rbp + 8]
add rcx, 0x160
call fcn.14008f430
mov dword [rbx + 0x10], eax
mov dword [rdi + 0x21c], eax
mov rcx, qword [rbp + 8]
add rcx, 0x160
call fcn.14008f430
mov dword [rbx + 0x14], eax
mov dword [rdi + 0x220], eax
jmp 0x1400b5f9f
mov dword [rbx + 0x10], r12d
mov dword [rdi + 0x21c], r12d
mov dword [rbx + 0x14], r12d
mov dword [rdi + 0x220], r12d
cmp word [rdi + 0xd8], 0x7b
je 0x1400b6100
mov rcx, qword [rsi + 0x40]
test rcx, rcx
je 0x1400b5fbf
call fcn.1400795b0
mov qword [rsi + 0x40], r12
cmp byte [rsi + 0x78], r12b
je 0x1400b5fdd
mov r8d, dword [rsp + 0x90]
movzx edx, word [rsi + 0x76]
mov rcx, rbp
call fcn.1400bef50
mov byte [rsi + 0x78], r12b
mov rcx, qword [rsi + 0x50]
test rcx, rcx
je 0x1400b6099
or ebx, 0xffffffff
mov eax, ebx
lock xadd dword [rcx + 0x1e8], eax
cmp eax, 1
jne 0x1400b6093
mov rax, qword [rsi + 0x50]
mov rcx, qword [rax + 0xd0]
test rcx, rcx
je 0x1400b603f
cmp dword [rcx + 0x14], 1
jg 0x1400b6026
dec dword [rcx + 0x14]
cmp dword [rcx + 0x14], r12d
jg 0x1400b6029
call fcn.1401e64f8
jmp 0x1400b6029
dec dword [rcx + 0x14]
mov rax, qword [rsi + 0x50]
mov qword [rax + 0xd0], r12
mov rax, qword [rsi + 0x50]
mov qword [rax + 0xd0], r12
mov rcx, qword [rsi + 0x50]
cmp byte [rcx + 0x24b], r12b
je 0x1400b6063
mov rcx, qword [rcx + 0xf8]
call fcn.14007a5b0
mov r11, qword [rsi + 0x50]
mov qword [r11 + 0xf8], r12
mov rax, qword [rsi + 0x50]
mov ecx, 0xfffe
mov byte [rax + 0x24b], r12b
mov rax, qword [rsi + 0x50]
and word [rax + 0x23c], cx
mov rcx, qword [rsi + 0x50]
call fcn.1401e64f8
mov r11d, ebx
lock xadd dword [0x1402e81dc], r11d
mov qword [rsi + 0x50], r12
jmp 0x1400b609c
or ebx, 0xffffffff
movzx eax, word [rbp + 0x6fe]
cmp eax, dword [0x1402e8664]
ja 0x1400b60ee
mov eax, dword [0x1402e8660]
cmp dword [0x1402e81f8], eax
ja 0x1400b60ee
lea rcx, [rsi + 0x58]
mov qword [rcx], r12
mov rax, qword [rbp + 0x328]
mov qword [rsi + 0x60], rax
mov rax, qword [rbp + 0x328]
mov qword [rax], rsi
inc word [rbp + 0x6fe]
mov qword [rbp + 0x328], rcx
lock xadd dword [0x1402e81f8], r13d
jmp 0x1400b6144
mov rcx, rsi
call fcn.1401e64f8
lock xadd dword [0x1402e81e0], ebx
jmp 0x1400b6144
mov rax, qword [rdi + 0xe0]
lea rcx, [rsi + 0x58]
mov qword [rbx + 0x1c], rax
mov byte [rdi + 0x249], r12b
mov qword [rcx], r12
mov rax, qword [rbp + 0x338]
mov qword [rsi + 0x60], rax
mov rax, qword [rbp + 0x338]
mov qword [rax], rsi
inc dword [rbp + 0x5a8]
mov qword [rbp + 0x338], rcx
lock xadd dword [0x1402e8428], r13d
mov r12, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x80]
mov r13, qword [rsp + 0x50]
add rsp, 0x68
pop rbp
pop rbx
repz ret