Function at 0x14001cd30
Capabilities:
Receive data
Receive data on socket

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xc0
movabs rax, 0x9dc16fb1a24e2671
movabs r15, 0xa5b89f0b6b8c1503
mov qword [rbp - 0x59], rax
movabs r12, 0x7c7a43d5f57f66fd
movabs rax, 0x7a7cd5431bf5d343
mov qword [rbp - 0x39], r15
xor r13d, r13d
mov qword [rbp - 0x51], rax
mov rsi, rdx
mov qword [rbp - 0x31], r12
mov r14, rcx
mov r8d, r13d
movzx eax, word [rbp + r8*2 - 0x59]
mov rdi, r8
rol ax, 8
mov word [rbp + r8*2 - 0x59], ax
and edi, 3
jne 0x14001ce25
mov eax, dword [rbp - 0x57]
bswap eax
mov dword [rbp - 0x57], eax
movzx eax, word [rbp + r8*2 - 0x57]
lea rcx, [r8 + 1]
rol ax, 8
mov word [rbp + r8*2 - 0x57], ax
and ecx, 3
jne 0x14001ce8e
mov eax, dword [rbp - 0x57]
bswap eax
mov dword [rbp - 0x57], eax
movzx eax, word [rbp + r8*2 - 0x55]
lea rdx, [r8 - 2]
rol ax, 8
mov word [rbp + r8*2 - 0x55], ax
and edx, 3
jne 0x14001ced0
mov eax, dword [rbp - 0x57]
bswap eax
mov dword [rbp - 0x57], eax
movzx eax, word [rbp + r8*2 - 0x53]
lea r9, [r8 - 1]
rol ax, 8
mov word [rbp + r8*2 - 0x53], ax
and r9d, 3
jne 0x14001cefc
mov eax, dword [rbp - 0x57]
bswap eax
mov dword [rbp - 0x57], eax
jmp 0x14001cf0a
cmp r8, 4
jne 0x14001cdb0
mov eax, dword [rbp - 0x4f]
lea rcx, [r8 + 1]
bswap eax
mov dword [rbp - 0x4f], eax
lea rdx, [r8 - 2]
movzx eax, word [rbp + r8*2 - 0x57]
lea r9, [r8 - 1]
rol ax, 8
and ecx, 3
mov word [rbp + r8*2 - 0x57], ax
and edx, 3
movzx eax, word [rbp + r8*2 - 0x55]
and r9d, 3
rol ax, 8
mov word [rbp + r8*2 - 0x55], ax
movzx eax, word [rbp + r8*2 - 0x53]
rol ax, 8
mov word [rbp + r8*2 - 0x53], ax
movzx eax, word [rbp + r8*2 - 0x51]
rol ax, 8
mov word [rbp + r8*2 - 0x51], ax
jmp 0x14001cf36
cmp r8, 3
jne 0x14001cdd5
mov eax, dword [rbp - 0x4f]
lea rdx, [r8 - 2]
bswap eax
mov dword [rbp - 0x4f], eax
lea r9, [r8 - 1]
movzx eax, word [rbp + r8*2 - 0x55]
and edx, r8d
rol ax, 8
mov word [rbp + r8*2 - 0x55], ax
movzx eax, word [rbp + r8*2 - 0x53]
rol ax, 8
mov word [rbp + r8*2 - 0x53], ax
and r9d, r8d
jmp 0x14001cf0a
cmp r8, 2
jne 0x14001cdfa
mov eax, dword [rbp - 0x4f]
lea r9, [r8 - 1]
bswap eax
mov dword [rbp - 0x4f], eax
movzx eax, word [rbp + r8*2 - 0x53]
rol ax, 8
mov word [rbp + r8*2 - 0x53], ax
and r9d, 3
jmp 0x14001cf0a
cmp r8, 1
jne 0x14001cf0a
mov eax, dword [rbp - 0x4f]
bswap eax
mov dword [rbp - 0x4f], eax
movzx eax, word [rbp + r8*2 - 0x51]
rol ax, 8
mov word [rbp + r8*2 - 0x51], ax
test rdi, rdi
jne 0x14001cf29
mov eax, dword [rbp - 0x57]
bswap eax
mov dword [rbp - 0x57], eax
jmp 0x14001cf36
test r8, r8
jne 0x14001cf36
mov eax, dword [rbp - 0x4f]
bswap eax
mov dword [rbp - 0x4f], eax
movzx eax, word [rbp + r8*2 - 0x4f]
rol ax, 8
mov word [rbp + r8*2 - 0x4f], ax
test rcx, rcx
jne 0x14001cf55
mov eax, dword [rbp - 0x57]
bswap eax
mov dword [rbp - 0x57], eax
jmp 0x14001cf63
cmp r8, 0xffffffffffffffff
jne 0x14001cf63
mov eax, dword [rbp - 0x4f]
bswap eax
mov dword [rbp - 0x4f], eax
movzx eax, word [rbp + r8*2 - 0x4d]
rol ax, 8
mov word [rbp + r8*2 - 0x4d], ax
test rdx, rdx
jne 0x14001cf82
mov eax, dword [rbp - 0x57]
bswap eax
mov dword [rbp - 0x57], eax
jmp 0x14001cf90
cmp r8, 0xfffffffffffffffe
jne 0x14001cf90
mov eax, dword [rbp - 0x4f]
bswap eax
mov dword [rbp - 0x4f], eax
movzx eax, word [rbp + r8*2 - 0x4b]
rol ax, 8
mov word [rbp + r8*2 - 0x4b], ax
test r9, r9
jne 0x14001cfaf
mov eax, dword [rbp - 0x57]
bswap eax
mov dword [rbp - 0x57], eax
jmp 0x14001cfbd
cmp r8, 0xfffffffffffffffd
jne 0x14001cfbd
mov eax, dword [rbp - 0x4f]
bswap eax
mov dword [rbp - 0x4f], eax
add r8, 8
cmp r8, 8
jb 0x14001cd90
cmp qword [rsi + 0x18], 0x10
mov rcx, rsi
movdqa xmm0, xmmword [rbp - 0x59]
pxor xmm0, xmmword [rbp - 0x39]
movdqa xmmword [rbp - 0x59], xmm0
jb 0x14001cfe7
mov rcx, qword [rsi]
lea rax, [rbp + 0x6a]
mov qword [rsp + 0x28], rax
lea r9, [rbp + 0x68]
lea rax, [rbp + 0x69]
lea r8, [rbp + 0x67]
mov qword [rsp + 0x20], rax
lea rdx, [rbp - 0x59]
call fcn.14001cc00
mov eax, 0x20
mov qword [rbp - 0x17], r13
mov word [rbp - 0x19], ax
lea rcx, [rbp - 0x19]
mov rax, qword gs:[0x40]
xorps xmm0, xmm0
mov qword [rbp - 9], rax
mov eax, dword [rbp + 0x67]
shl rax, 0x20
or rax, 0x539
mov dword [rbp - 0xf], r13d
mov qword [rbp - 1], rax
mov word [rbp - 0xb], r13w
movdqu xmmword [rbp + 7], xmm0
mov qword [rbp + 0x17], r13
call fcn.140001030
movabs rax, 0xb8a50b9fbf5c3226
mov qword [rbp - 0x29], r15
mov qword [rbp - 0x49], rax
mov rcx, r13
movabs rax, 0x7a7cd5437ff5fd66
mov qword [rbp - 0x21], r12
mov qword [rbp - 0x41], rax
nop word [rax + rax]
movzx eax, word [rbp + rcx*2 - 0x49]
mov rdi, rcx
rol ax, 8
mov word [rbp + rcx*2 - 0x49], ax
and edi, 3
jne 0x14001d10e
mov eax, dword [rbp - 0x47]
bswap eax
mov dword [rbp - 0x47], eax
movzx eax, word [rbp + rcx*2 - 0x47]
lea rdx, [rcx + 1]
rol ax, 8
mov word [rbp + rcx*2 - 0x47], ax
and edx, 3
jne 0x14001d170
mov eax, dword [rbp - 0x47]
bswap eax
mov dword [rbp - 0x47], eax
movzx eax, word [rbp + rcx*2 - 0x45]
lea r8, [rcx - 2]
rol ax, 8
mov word [rbp + rcx*2 - 0x45], ax
and r8d, 3
jne 0x14001d199
mov eax, dword [rbp - 0x47]
bswap eax
mov dword [rbp - 0x47], eax
movzx eax, word [rbp + rcx*2 - 0x43]
lea r9, [rcx - 1]
rol ax, 8
mov word [rbp + rcx*2 - 0x43], ax
and r9d, 3
jne 0x14001d1c3
mov eax, dword [rbp - 0x47]
bswap eax
mov dword [rbp - 0x47], eax
jmp 0x14001d1d1
cmp rcx, 4
jne 0x14001d09e
mov eax, dword [rbp - 0x3f]
lea rdx, [rcx + 1]
bswap eax
mov dword [rbp - 0x3f], eax
lea r8, [rcx - 2]
movzx eax, word [rbp + rcx*2 - 0x47]
lea r9, [rcx - 1]
rol ax, 8
and edx, 3
mov word [rbp + rcx*2 - 0x47], ax
and r8d, 3
movzx eax, word [rbp + rcx*2 - 0x45]
and r9d, 3
rol ax, 8
mov word [rbp + rcx*2 - 0x45], ax
movzx eax, word [rbp + rcx*2 - 0x43]
rol ax, 8
mov word [rbp + rcx*2 - 0x43], ax
movzx eax, word [rbp + rcx*2 - 0x41]
rol ax, 8
mov word [rbp + rcx*2 - 0x41], ax
jmp 0x14001d1fb
cmp rcx, 3
jne 0x14001d0c1
mov eax, dword [rbp - 0x3f]
lea r8, [rcx - 2]
bswap eax
mov dword [rbp - 0x3f], eax
movzx eax, word [rbp + rcx*2 - 0x45]
rol ax, 8
mov word [rbp + rcx*2 - 0x45], ax
and r8d, ecx
jmp 0x14001d1ab
cmp rcx, 2
jne 0x14001d0e5
mov eax, dword [rbp - 0x3f]
bswap eax
mov dword [rbp - 0x3f], eax
movzx eax, word [rbp + rcx*2 - 0x43]
lea r9, [rcx - 1]
rol ax, 8
mov word [rbp + rcx*2 - 0x43], ax
and r9d, 3
jmp 0x14001d1d1
cmp rcx, 1
jne 0x14001d1d1
mov eax, dword [rbp - 0x3f]
bswap eax
mov dword [rbp - 0x3f], eax
movzx eax, word [rbp + rcx*2 - 0x41]
rol ax, 8
mov word [rbp + rcx*2 - 0x41], ax
test rdi, rdi
jne 0x14001d1ee
mov eax, dword [rbp - 0x47]
bswap eax
mov dword [rbp - 0x47], eax
jmp 0x14001d1fb
test rcx, rcx
jne 0x14001d1fb
mov eax, dword [rbp - 0x3f]
bswap eax
mov dword [rbp - 0x3f], eax
movzx eax, word [rbp + rcx*2 - 0x3f]
rol ax, 8
mov word [rbp + rcx*2 - 0x3f], ax
test rdx, rdx
jne 0x14001d218
mov eax, dword [rbp - 0x47]
bswap eax
mov dword [rbp - 0x47], eax
jmp 0x14001d226
cmp rcx, 0xffffffffffffffff
jne 0x14001d226
mov eax, dword [rbp - 0x3f]
bswap eax
mov dword [rbp - 0x3f], eax
movzx eax, word [rbp + rcx*2 - 0x3d]
rol ax, 8
mov word [rbp + rcx*2 - 0x3d], ax
test r8, r8
jne 0x14001d243
mov eax, dword [rbp - 0x47]
bswap eax
mov dword [rbp - 0x47], eax
jmp 0x14001d251
cmp rcx, 0xfffffffffffffffe
jne 0x14001d251
mov eax, dword [rbp - 0x3f]
bswap eax
mov dword [rbp - 0x3f], eax
movzx eax, word [rbp + rcx*2 - 0x3b]
rol ax, 8
mov word [rbp + rcx*2 - 0x3b], ax
test r9, r9
jne 0x14001d26e
mov eax, dword [rbp - 0x47]
bswap eax
mov dword [rbp - 0x47], eax
jmp 0x14001d27c
cmp rcx, 0xfffffffffffffffd
jne 0x14001d27c
mov eax, dword [rbp - 0x3f]
bswap eax
mov dword [rbp - 0x3f], eax
add rcx, 8
cmp rcx, 8
jb 0x14001d080
cmp qword [rsi + 0x18], 0x10
mov rcx, rsi
movdqa xmm0, xmmword [rbp - 0x29]
pxor xmm0, xmmword [rbp - 0x49]
movdqa xmmword [rbp - 0x49], xmm0
jb 0x14001d2a6
mov rcx, qword [rsi]
lea r8, [r14 + 8]
lea rdx, [rbp - 0x49]
call fcn.14001d910
mov qword [r14], rax
mov rbx, rax
cmp rax, 0xffffffffffffffff
jne 0x14001d300
mov rdx, qword [rsi + 0x18]
cmp rdx, 0x10
jb 0x14001d2f9
mov rcx, qword [rsi]
inc rdx
cmp rdx, 0x1000
jb 0x14001d2f4
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14001d3e9
mov rcx, r8
call fcn.140062950
xor al, al
jmp 0x14001d3bf
mov rdi, qword [r14 + 8]
lea r9, [rbp + 0x77]
mov qword [rsp + 0x30], r13
lea rdx, [rbp - 0x39]
mov qword [rsp + 0x28], rdi
mov r8d, 1
mov rcx, rbx
mov qword [rbp - 0x39], 0x160
lea rax, [rdi + 0x20]
mov dword [rbp + 0x6f], r13d
mov qword [rbp - 0x31], rax
lea rax, [rbp + 0x6f]
mov qword [rsp + 0x20], rax
mov dword [rbp + 0x77], r13d
call qword [sym.imp.WS2_32.dll_WSARecv]
test eax, eax
je 0x14001d357
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x3e5
jne 0x14001d387
mov rcx, qword [rdi + 0x18]
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0xffffffff
je 0x14001d387
lea rax, [rbp + 0x6f]
xor r9d, r9d
lea r8, [rbp + 0x77]
mov qword [rsp + 0x20], rax
mov rdx, rdi
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_WSAGetOverlappedResult]
mov rdx, qword [rsi + 0x18]
cmp rdx, 0x10
jb 0x14001d3bd
mov rcx, qword [rsi]
inc rdx
cmp rdx, 0x1000
jb 0x14001d3b8
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14001d3e9
mov rcx, r8
call fcn.140062950
mov al, 1
mov byte [rsi], r13b
mov qword [rsi + 0x10], r13
mov qword [rsi + 0x18], select
mov rbx, qword [rsp + 0x118]
add rsp, 0xc0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1400aa160
int3