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

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x8d8]
sub rsp, 0x9b0
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
mov rax, qword [0x14004b090]
xor rax, rsp
mov qword [rbp + 0x880], rax
mov rdi, rcx
movsxd rbx, dword [rcx + 0x28]
cmp byte [rcx + 0x2c], 0
je 0x140002424
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x58], xmm0
xor r12d, r12d
mov esi, r12d
xor r9d, r9d
mov r8d, 0x400
lea rdx, [rbp + 0x480]
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_recv]
test eax, eax
jle 0x140002406
movsd xmm7, qword [0x140044c20]
mov r15, qword [rsp + 0x58]
nop dword [rax]
mov ebx, eax
mov rdx, qword [rdi + 0x88]
mov r9d, eax
lea r8, [rbp + 0x480]
lea rcx, [rdi + 0x80]
call fcn.140008960
add r15, rbx
mov rax, qword [rsp + 0x60]
add rax, r15
xorps xmm6, xmm6
cvtsi2sd xmm6, rax
movd xmm0, dword [rdi + 0x30]
cvtdq2pd xmm0, xmm0
divsd xmm6, xmm0
mulsd xmm6, xmm7
inc esi
cmp esi, 0xa
jge 0x14000235a
ucomisd xmm6, xmm7
jp 0x1400023e4
jne 0x1400023e4
mov esi, r12d
movdqa xmm1, xmmword [0x140044d00]
movdqu xmmword [rsp + 0x20], xmm1
movdqa xmm0, xmm1
psrldq xmm0, 1
movd eax, xmm0
movd ecx, xmm1
xor al, cl
mov byte [rsp + 0x21], al
xor byte [rsp + 0x22], cl
xor byte [rsp + 0x23], cl
xor byte [rsp + 0x24], cl
xor byte [rsp + 0x25], cl
xor byte [rsp + 0x26], cl
xor byte [rsp + 0x27], cl
xor byte [rsp + 0x28], cl
xor byte [rsp + 0x29], cl
xor byte [rsp + 0x2a], cl
xor byte [rsp + 0x2b], cl
xor byte [rsp + 0x2c], cl
xor byte [rsp + 0x2d], cl
xor byte [rsp + 0x2e], cl
xor byte [rsp + 0x2f], cl
mov byte [rsp + 0x30], sil
lea rdx, [rsp + 0x21]
lea rcx, [0x14004c5e0]
call fcn.140007580
cvttsd2si edx, xmm6
mov rcx, rax
call fcn.140004070
mov rcx, rax
call fcn.140007840
movsxd rcx, dword [rdi + 0x28]
xor r9d, r9d
mov r8d, 0x400
lea rdx, [rbp + 0x480]
call qword [sym.imp.WS2_32.dll_recv]
test eax, eax
jg 0x140002300
movsxd rcx, dword [rdi + 0x30]
xorps xmm0, xmm0
movq rax, xmm0
add rcx, rax
je 0x1400029da
mov byte [rdi + 0x2c], r12b
jmp 0x1400029da
xor edx, edx
mov r8d, 0x400
lea rcx, [rbp + 0x80]
call fcn.1400120d0
xor r9d, r9d
mov r8d, 0x400
lea rdx, [rbp + 0x80]
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_recv]
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x40], xmm1
xor r12d, r12d
mov qword [rsp + 0x50], r12
xor edx, edx
mov r8d, 0xf8
lea rcx, [rbp - 0x80]
call fcn.1400120d0
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x30], xmm1
lea rax, [rbp + 0x80]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x140002492
lea rdx, [rbp + 0x80]
lea rcx, [rsp + 0x20]
call fcn.1400078f0
nop
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x80]
call fcn.140003e00
nop
mov rdx, qword [rsp + 0x38]
cmp rdx, 0x10
jb 0x1400024fa
inc rdx
mov rcx, qword [rsp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400024f5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140002a68
call fcn.14000f810
xorps xmm0, xmm0
movups xmmword [rsp + 0x58], xmm0
movdqa xmm1, xmmword [0x140044c30]
movdqu xmmword [rsp + 0x68], xmm1
mov byte [rsp + 0x58], 0
lea rdx, [rsp + 0x58]
lea rcx, [rbp - 0x80]
call fcn.140008710
mov rcx, qword [rax]
movsxd rdx, dword [rcx + 4]
test byte [rdx + rax + 0x10], 6
jne 0x140002580
mov rax, qword [rsp + 0x48]
cmp rax, qword [rsp + 0x50]
je 0x140002552
lea rdx, [rsp + 0x58]
mov rcx, rax
call fcn.140004860
add qword [rsp + 0x48], 0x20
jmp 0x140002564
lea r8, [rsp + 0x58]
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.140008e40
lea rdx, [rsp + 0x58]
lea rcx, [rbp - 0x80]
call fcn.140008710
mov rcx, qword [rax]
movsxd rdx, dword [rcx + 4]
test byte [rdx + rax + 0x10], 6
je 0x140002531
mov rbx, qword [rsp + 0x40]
cmp rbx, qword [rsp + 0x48]
je case.default.0x1400025f3
cmp qword [rbx + 0x30], 0
je case.default.0x1400025f3
call fcn.1400184a8
mov rsi, rax
cmp qword [rbx + 0x18], 0x10
jb 0x1400025ad
mov rbx, qword [rbx]
mov dword [rax], r12d
mov r8d, 0xa
lea rdx, [rsp + 0x20]
mov rcx, rbx
call fcn.140018fa8
cmp rbx, qword [rsp + 0x20]
je 0x140002a1a
cmp dword [rsi], 0x22
je 0x140002a27
cmp eax, 5
ja case.default.0x1400025f3
cdqe
lea rdx, [0x140000000]
mov ecx, dword [rdx + rax*4 + 0x2a70]
add rcx, rdx
jmp rcx
mov ebx, 0x47
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rcx, rax
movzx edx, bx
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
mov byte [rsp + 0x20], 0x4e
mov al, 0x15
mov cl, 0x6f
mov dl, reloc.WS2_32.dll_send
mov r8b, 0x6e
mov r9b, 0x28
mov r10b, 0x2f
mov r11b, 0x27
mov bl, 0x22
mov dil, 0x2b
mov sil, 0x2a
mov r14b, reloc.WS2_32.dll_WSACleanup
movzx r15d, r8b
xor r12d, r12d
xor al, 0x4e
mov byte [rsp + 0x21], al
xor cl, 0x4e
mov byte [rsp + 0x22], cl
xor dl, 0x4e
mov byte [rsp + 0x23], dl
xor r8b, 0x4e
mov byte [rsp + 0x24], r8b
xor r9b, 0x4e
mov byte [rsp + 0x25], r9b
xor r10b, 0x4e
mov byte [rsp + 0x26], r10b
xor r11b, 0x4e
mov byte [rsp + 0x27], r11b
xor bl, 0x4e
mov byte [rsp + 0x28], bl
xor dil, 0x4e
mov byte [rsp + 0x29], dil
xor sil, 0x4e
mov byte [rsp + 0x2a], sil
xor r14b, 0x4e
mov byte [rsp + 0x2b], r14b
xor r15b, 0x4e
mov byte [rsp + 0x2c], r15b
mov byte [rsp + 0x2d], r12b
lea rdx, [rsp + 0x21]
lea rcx, [0x14004c5e0]
call fcn.140007580
mov rdx, qword [rsp + 0x40]
add rdx, 0x20
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x1400026ca
mov rdx, qword [rdx]
mov rcx, rax
call fcn.140008ba0
mov rcx, rax
call fcn.140007840
nop word [rax + rax]
mov ecx, 0x1f4
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x1400026e0
mov byte [rsp + 0x20], 0x2a
mov al, 0x71
mov cl, 0xe
mov dl, 0x77
mov r8b, 0xa
mov r9b, 0x59
mov r10b, 0x5f
mov r11b, 0x49
movzx ebx, r11b
mov dil, 0x4f
movzx esi, r9b
movzx r14d, r9b
mov r15b, reloc.WS2_32.dll_recv
movzx r12d, r8b
xor r13d, r13d
xor al, 0x2a
mov byte [rsp + 0x21], al
xor cl, 0x2a
mov byte [rsp + 0x22], cl
xor dl, 0x2a
mov byte [rsp + 0x23], dl
xor r8b, 0x2a
mov byte [rsp + 0x24], r8b
xor r9b, 0x2a
mov byte [rsp + 0x25], r9b
xor r10b, 0x2a
mov byte [rsp + 0x26], r10b
xor r11b, 0x2a
mov byte [rsp + 0x27], r11b
xor bl, 0x2a
mov byte [rsp + 0x28], bl
xor dil, 0x2a
mov byte [rsp + 0x29], dil
xor sil, 0x2a
mov byte [rsp + 0x2a], sil
xor r14b, 0x2a
mov byte [rsp + 0x2b], r14b
xor r15b, 0x2a
mov byte [rsp + 0x2c], r15b
xor r12b, 0x2a
mov byte [rsp + 0x2d], r12b
mov byte [rsp + 0x2e], r13b
lea rdx, [rsp + 0x21]
lea rcx, [0x14004c5e0]
call fcn.140007580
mov rdx, qword [rsp + 0x40]
add rdx, 0x20
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x1400027b6
mov rdx, qword [rdx]
mov rcx, rax
call fcn.140008ba0
lea rdx, str.__closing_in_5_seconds
mov rcx, rax
call fcn.140007580
mov rcx, rax
call fcn.140007840
jmp case.default.0x1400025f3
mov rbx, qword [rsp + 0x40]
lea rdx, [rbx + 0x20]
lea rcx, [rdi + 0x38]
cmp rcx, rdx
je 0x140002804
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x1400027fa
mov rdx, qword [rdx]
call fcn.140005b30
mov rbx, qword [rsp + 0x40]
add rbx, 0x40
call fcn.1400184a8
mov rsi, rax
cmp qword [rbx + 0x18], 0x10
jb 0x14000281a
mov rbx, qword [rbx]
mov dword [rax], r12d
mov r8d, 0xa
lea rdx, [rsp + 0x20]
mov rcx, rbx
call fcn.140018fa8
cmp rbx, qword [rsp + 0x20]
je 0x140002a34
cmp dword [rsi], 0x22
je 0x140002a41
mov dword [rdi + 0x58], eax
mov byte [rdi + 0x34], 1
jmp case.default.0x1400025f3
mov rdx, qword [rsp + 0x40]
add rdx, 0x20
lea rcx, [rdi + 0x60]
cmp rcx, rdx
je case.default.0x1400025f3
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x140002874
mov rdx, qword [rdx]
call fcn.140005b30
jmp case.default.0x1400025f3
mov byte [rdi + 0x2c], 1
mov rbx, qword [rsp + 0x40]
add rbx, 0x20
call fcn.1400184a8
mov rsi, rax
cmp qword [rbx + 0x18], 0x10
jb 0x14000289d
mov rbx, qword [rbx]
mov dword [rax], r12d
mov r8d, 0xa
lea rdx, [rsp + 0x20]
mov rcx, rbx
call fcn.140018fa8
cmp rbx, qword [rsp + 0x20]
je 0x140002a4e
cmp dword [rsi], 0x22
je 0x140002a5b
mov dword [rdi + 0x30], eax
jmp case.default.0x1400025f3
mov ebx, 1
mov rax, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x40]
sub rax, rdx
sar rax, 5
cmp rax, rbx
jbe case.default.0x1400025f3
mov ecx, ebx
nop dword [rax]
shl rcx, 5
lea r8, [rcx + rdx]
mov rax, qword [rdi + 0xa0]
cmp rax, qword [rdi + 0xa8]
je 0x14000291d
mov rdx, r8
mov rcx, rax
call fcn.140004860
add qword [rdi + 0xa0], 0x20
jmp 0x14000292c
mov rdx, rax
lea rcx, [rdi + 0x98]
call fcn.140008e40
inc ebx
mov rax, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x40]
sub rax, rdx
sar rax, 5
movsxd rcx, ebx
cmp rcx, rax
jb 0x1400028f0
mov rdx, qword [rsp + 0x70]
cmp rdx, 0x10
jb 0x140002985
inc rdx
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000297f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140002a68
call fcn.14000f810
nop
lea rcx, [rbp - 0x80]
call fcn.140002a90
nop
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x1400029da
mov rdx, qword [rsp + 0x48]
call fcn.140007b30
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x40]
sub rdx, rcx
and rdx, 0xffffffffffffffe0
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400029d5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140002a14
call fcn.14000f810
mov rcx, qword [rbp + 0x880]
xor rcx, rsp
call fcn.14000f7f0
lea r11, [rsp + 0x9b0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.140019510
nop
lea rcx, str.invalid_stoi_argument
call fcn.14000e5a4
int3
lea rcx, str.stoi_argument_out_of_range
call fcn.14000e5ec
int3
lea rcx, str.invalid_stoi_argument
call fcn.14000e5a4
int3
lea rcx, str.stoi_argument_out_of_range
call fcn.14000e5ec
int3
lea rcx, str.invalid_stoi_argument
call fcn.14000e5a4
int3
lea rcx, str.stoi_argument_out_of_range
call fcn.14000e5ec
nop
call fcn.140019510
int3