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

Disassembly:
test rdx, rdx
je 0x1400b3cd1
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 0x1400b3ccb
mov qword [rsp + 0x80], rsi
mov rsi, qword [rbp + 0x320]
xor edx, edx
mov qword [rsp + 0x50], r13
test rsi, rsi
jne 0x1400b3670
mov rcx, qword [0x1402e64a0]
call fcn.1401e3610
mov rsi, rax
test rax, rax
je 0x1400b3cbe
mov r13d, 1
mov ecx, r13d
lock xadd dword [0x1402e65a0], ecx
xor edx, edx
mov qword [rax + 0x50], rdx
mov byte [rax + 0x78], dl
jmp 0x1400b36c4
mov rcx, qword [rsi + 0x58]
test rcx, rcx
je 0x1400b3683
mov rax, qword [rsi + 0x60]
mov qword [rcx + 0x60], rax
jmp 0x1400b368e
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 [0x1402e65b8], eax
mov r13d, 1
mov byte [rsi + 0x78], dl
mov eax, r13d
lock xadd dword [0x1402e6930], 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 0x1400b37c8
mov rcx, qword [0x1402e6b48]
call fcn.1401e3610
mov rdi, rax
test rax, rax
je 0x1400b3770
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 0x1400b3772
xor ecx, ecx
mov qword [rdi + 0x50], rcx
mov rcx, qword [0x1402e6b50]
call fcn.1401e3610
mov rcx, qword [0x1402e6b58]
mov rbx, rax
call fcn.1401e3610
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 0x1400b387e
test r14b, 2
je 0x1400b383d
mov rcx, qword [0x1402e6b48]
call fcn.1401e3610
mov rdi, rax
test rax, rax
je 0x1400b382d
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 0x1400b387e
mov eax, 0xb0
xor edx, edx
cmp r12d, eax
cmovl eax, r12d
jmp 0x1400b387e
mov rcx, qword [0x1402e6b48]
call fcn.1401e3610
mov rdi, rax
test rax, rax
je 0x1400b3870
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 0x1400b3872
xor edx, edx
mov eax, 0xd8
cmp r12d, eax
cmovl eax, r12d
test rdi, rdi
je 0x1400b38ca
cmp eax, 0x2c
jl 0x1400b38be
sub r12d, eax
test r15, r15
je 0x1400b3895
mov qword [r15], rdi
jmp 0x1400b389d
mov rbx, rdi
mov qword [rsp + 0x20], rbx
and r14d, 0xfffffffd
mov r15, rdi
test r12d, r12d
jg 0x1400b3710
test r14b, 4
je 0x1400b38b7
or dword [rdi + 0x1c], 4
test rbx, rbx
je 0x1400b38d9
jmp 0x1400b38dc
mov rcx, rdi
call fcn.140077120
xor edx, edx
jmp 0x1400b38d9
test rbx, rbx
je 0x1400b38d9
mov rcx, rbx
call fcn.140077120
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 0x1400b3a08
cmp byte [rsi + 0x78], bl
je 0x1400b3911
mov r8d, dword [rsp + 0x90]
movzx edx, word [rsi + 0x76]
mov rcx, rbp
call fcn.1400bcac0
mov byte [rsi + 0x78], bl
xor edx, edx
mov rcx, qword [rsi + 0x50]
test rcx, rcx
je 0x1400b39d4
or ebx, 0xffffffff
mov eax, ebx
lock xadd dword [rcx + 0x1e8], eax
cmp eax, 1
jne 0x1400b39ce
mov rax, qword [rsi + 0x50]
mov rcx, qword [rax + 0xd0]
test rcx, rcx
je 0x1400b3975
cmp dword [rcx + 0x14], 1
jg 0x1400b395c
dec dword [rcx + 0x14]
cmp dword [rcx + 0x14], 0
jg 0x1400b395f
call fcn.1401e36c8
xor edx, edx
jmp 0x1400b395f
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 0x1400b399c
mov rcx, qword [rcx + 0xf8]
call fcn.140078120
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.1401e36c8
mov r11d, ebx
lock xadd dword [0x1402e659c], r11d
xor edx, edx
mov qword [rsi + 0x50], rdx
jmp 0x1400b39d7
or ebx, 0xffffffff
movzx eax, word [rbp + 0x6fe]
cmp eax, dword [0x1402e6a24]
ja 0x1400b3c5e
mov eax, dword [0x1402e6a20]
cmp dword [0x1402e65b8], eax
ja 0x1400b3c5e
lea rcx, [rsi + 0x58]
mov qword [rcx], rdx
jmp 0x1400b3c30
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 0x1400b3af9
mov rcx, qword [rbp + 8]
add rcx, 0x160
call fcn.14008cfa0
mov dword [rbx + 0x10], eax
mov dword [rdi + 0x21c], eax
mov rcx, qword [rbp + 8]
add rcx, 0x160
call fcn.14008cfa0
mov dword [rbx + 0x14], eax
mov dword [rdi + 0x220], eax
jmp 0x1400b3b0f
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 0x1400b3c70
mov rcx, qword [rsi + 0x40]
test rcx, rcx
je 0x1400b3b2f
call fcn.140077120
mov qword [rsi + 0x40], r12
cmp byte [rsi + 0x78], r12b
je 0x1400b3b4d
mov r8d, dword [rsp + 0x90]
movzx edx, word [rsi + 0x76]
mov rcx, rbp
call fcn.1400bcac0
mov byte [rsi + 0x78], r12b
mov rcx, qword [rsi + 0x50]
test rcx, rcx
je 0x1400b3c09
or ebx, 0xffffffff
mov eax, ebx
lock xadd dword [rcx + 0x1e8], eax
cmp eax, 1
jne 0x1400b3c03
mov rax, qword [rsi + 0x50]
mov rcx, qword [rax + 0xd0]
test rcx, rcx
je 0x1400b3baf
cmp dword [rcx + 0x14], 1
jg 0x1400b3b96
dec dword [rcx + 0x14]
cmp dword [rcx + 0x14], r12d
jg 0x1400b3b99
call fcn.1401e36c8
jmp 0x1400b3b99
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 0x1400b3bd3
mov rcx, qword [rcx + 0xf8]
call fcn.140078120
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.1401e36c8
mov r11d, ebx
lock xadd dword [0x1402e659c], r11d
mov qword [rsi + 0x50], r12
jmp 0x1400b3c0c
or ebx, 0xffffffff
movzx eax, word [rbp + 0x6fe]
cmp eax, dword [0x1402e6a24]
ja 0x1400b3c5e
mov eax, dword [0x1402e6a20]
cmp dword [0x1402e65b8], eax
ja 0x1400b3c5e
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 [0x1402e65b8], r13d
jmp 0x1400b3cb4
mov rcx, rsi
call fcn.1401e36c8
lock xadd dword [0x1402e65a0], ebx
jmp 0x1400b3cb4
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 [0x1402e67e8], 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