Function at 0x14019ae40
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0xf8]
sub rsp, 0x1c0
mov qword [rbp], 0xfffffffffffffffe
mov qword [rax + 8], rbx
movaps xmmword [rax - 0x48], xmm6
mov rax, qword [0x140479080]
xor rax, rsp
mov qword [rbp + 0xa8], rax
mov rdi, r9
mov rbx, r8
mov r14, rdx
mov qword [rbp - 0x78], rdx
mov qword [rbp - 0x18], rcx
mov rsi, qword [rbp + 0x120]
mov qword [rsp + 0x40], rsi
mov qword [rbp + 8], rsi
mov r15, qword [rbp + 0x128]
mov qword [rbp - 0x70], r15
mov qword [rbp + 0x10], r15
xor r13d, r13d
mov r12d, r13d
mov dword [rbp - 0x80], r13d
mov word [rsp + 0x30], r13w
mov dword [rsp + 0x34], r13d
mov dword [rbp + 0xa0], r13d
mov byte [rbp + 0xa4], r13b
mov rcx, qword [rsi]
mov rax, qword [rcx]
xor r8d, r8d
xor edx, edx
call qword [rax + 0x30]
mov rcx, qword [rsi]
mov rax, qword [rcx]
lea r8d, [r13 + 4]
lea rdx, [rbp + 0xa0]
call qword [rax + 0x28]
mov ecx, r13d
lea rdx, [rbp + 0xa0]
lea r8, str.8BPS
movzx eax, byte [rdx + rcx]
inc rcx
cmp al, byte [r8 + rcx - 1]
jne 0x14019c2eb
cmp rcx, 5
jne 0x14019af03
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov edx, 8
lea r8d, [rdx - 7]
call qword [rax + 0x30]
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov r8d, 2
lea rdx, [rsp + 0x30]
call qword [rax + 0x28]
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov r8d, 4
lea rdx, [rsp + 0x34]
call qword [rax + 0x28]
mov ecx, dword [rsp + 0x34]
mov edx, ecx
and edx, 0xff0000
mov eax, ecx
shr eax, 0x10
or edx, eax
shr edx, 8
mov eax, ecx
and eax, 0xff00
shl ecx, 0x10
or eax, ecx
shl eax, 8
or edx, eax
mov dword [rdi], edx
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov r8d, 4
lea rdx, [rsp + 0x34]
call qword [rax + 0x28]
mov ecx, dword [rsp + 0x34]
mov edx, ecx
and edx, 0xff0000
mov eax, ecx
shr eax, 0x10
or edx, eax
shr edx, 8
mov eax, ecx
and eax, 0xff00
shl ecx, 0x10
or eax, ecx
shl eax, 8
or edx, eax
mov dword [rbx], edx
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov r8d, 2
lea rdx, [rsp + 0x30]
call qword [rax + 0x28]
movzx eax, word [rsp + 0x30]
rol ax, 8
cmp ax, 8
je 0x14019b059
mov rbx, qword [rsi + 8]
mov r14, 0xffffffffffffffff
test rbx, rbx
je 0x14019b01f
mov eax, r14d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x14019b01f
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
mov eax, r14d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x14019b01f
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_recv]
nop
mov rbx, qword [r15 + 8]
test rbx, rbx
je 0x14019b054
mov eax, r14d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x14019b054
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
lock xadd dword [rbx + 0xc], r14d
cmp r14d, 1
jne 0x14019b054
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_recv]
nop
jmp 0x14019c35d
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov r8d, 2
lea rdx, [rsp + 0x30]
call qword [rax + 0x28]
movzx eax, word [rsp + 0x30]
rol ax, 8
cmp ax, 3
je 0x14019b0f7
mov rbx, qword [rsi + 8]
mov r14, 0xffffffffffffffff
test rbx, rbx
je 0x14019b0bd
mov eax, r14d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x14019b0bd
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
mov eax, r14d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x14019b0bd
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_recv]
nop
mov rbx, qword [r15 + 8]
test rbx, rbx
je 0x14019b0f2
mov eax, r14d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x14019b0f2
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
lock xadd dword [rbx + 0xc], r14d
cmp r14d, 1
jne 0x14019b0f2
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_recv]
nop
jmp 0x14019c35d
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov r8d, 4
lea rdx, [rsp + 0x34]
call qword [rax + 0x28]
mov ecx, dword [rsp + 0x34]
mov edx, ecx
and edx, 0xff0000
mov eax, ecx
shr eax, 0x10
or edx, eax
shr edx, 8
mov eax, ecx
and eax, 0xff00
shl ecx, 0x10
or eax, ecx
shl eax, 8
or edx, eax
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov r8d, 1
call qword [rax + 0x30]
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov r8d, 4
lea rdx, [rsp + 0x34]
call qword [rax + 0x28]
mov ecx, dword [rsp + 0x34]
mov edx, ecx
and edx, 0xff0000
mov eax, ecx
shr eax, 0x10
or edx, eax
shr edx, 8
mov eax, ecx
and eax, 0xff00
shl ecx, 0x10
or eax, ecx
shl eax, 8
or edx, eax
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov r8d, 1
call qword [rax + 0x30]
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov r8d, 4
lea rdx, [rsp + 0x34]
call qword [rax + 0x28]
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov r8d, 4
lea rdx, [rsp + 0x34]
call qword [rax + 0x28]
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov r8d, 2
lea rdx, [rsp + 0x30]
call qword [rax + 0x28]
movzx eax, word [rsp + 0x30]
rol ax, 8
cwde
cdq
mov r13d, eax
xor r13d, edx
sub r13d, edx
xor ebx, ebx
mov edi, ebx
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x60], rbx
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x68], xmm0
mov rdx, qword [r14 + 8]
mov rcx, qword [r14]
call fcn.14010c7e0
mov rax, qword [r14]
mov qword [r14 + 8], rax
mov r15d, ebx
lea r14, [rbx - 1]
test r13d, r13d
jle 0x14019b9fb
movss xmm6, dword [0x1404106b8]
nop dword [rax]
mov rbx, qword [rbp - 0x70]
mov rcx, qword [rbx]
mov rax, qword [rcx]
lea rdx, [rsp + 0x50]
call qword [rax + 0x60]
nop
mov rcx, qword [rbx]
mov rax, qword [rcx]
lea rdx, [rbp - 0x40]
call qword [rax + 0x68]
nop
mov rcx, qword [rsp + 0x50]
movaps xmm0, xmmword [rbp - 0x40]
movdqa xmmword [rbp - 0x10], xmm0
psrldq xmm0, 8
movq rdx, xmm0
test rdx, rdx
je 0x14019b268
mov eax, 1
lock xadd dword [rdx + 8], eax
mov rax, qword [rcx]
lea rdx, [rbp - 0x10]
call qword [rax + 0x88]
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov r8d, 4
lea rdx, [rsp + 0x34]
call qword [rax + 0x28]
mov rdx, qword [rsp + 0x50]
mov rax, qword [rdx + 8]
movsxd rcx, dword [rax + 4]
add rcx, 8
add rcx, rdx
mov r9, qword [rcx]
mov edx, dword [rsp + 0x34]
mov r8d, edx
and r8d, 0xff0000
mov eax, edx
shr eax, 0x10
or r8d, eax
shr r8d, 8
mov eax, edx
and eax, 0xff00
shl edx, 0x10
or eax, edx
shl eax, 8
or r8d, eax
movd xmm1, r8d
cvtdq2ps xmm1, xmm1
call qword [r9 + 0xa8]
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov r8d, 4
lea rdx, [rsp + 0x34]
call qword [rax + 0x28]
mov rdx, qword [rsp + 0x50]
mov rax, qword [rdx + 8]
movsxd rcx, dword [rax + 4]
add rcx, 8
add rcx, rdx
mov r9, qword [rcx]
mov edx, dword [rsp + 0x34]
mov r8d, edx
and r8d, 0xff0000
mov eax, edx
shr eax, 0x10
or r8d, eax
shr r8d, 8
mov eax, edx
and eax, 0xff00
shl edx, 0x10
or eax, edx
shl eax, 8
or r8d, eax
movd xmm1, r8d
cvtdq2ps xmm1, xmm1
call qword [r9 + 0xa0]
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov r8d, 4
lea rdx, [rsp + 0x34]
call qword [rax + 0x28]
mov ecx, dword [rsp + 0x34]
mov ebx, ecx
and ebx, 0xff0000
mov eax, ecx
shr eax, 0x10
or ebx, eax
shr ebx, 8
mov eax, ecx
and eax, 0xff00
shl ecx, 0x10
or eax, ecx
shl eax, 8
or ebx, eax
mov rdx, qword [rsp + 0x50]
mov rax, qword [rdx + 8]
movsxd rcx, dword [rax + 4]
add rdx, 8
add rcx, rdx
mov rax, qword [rcx]
call qword [rax + 0x28]
cvttss2si eax, xmm0
sub ebx, eax
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov r8d, 4
lea rdx, [rsp + 0x34]
call qword [rax + 0x28]
mov ecx, dword [rsp + 0x34]
mov edi, ecx
and edi, 0xff0000
mov eax, ecx
shr eax, 0x10
or edi, eax
shr edi, 8
mov eax, ecx
and eax, 0xff00
shl ecx, 0x10
or eax, ecx
shl eax, 8
or edi, eax
mov rdx, qword [rsp + 0x50]
mov rax, qword [rdx + 8]
movsxd rcx, dword [rax + 4]
add rdx, 8
add rcx, rdx
mov rax, qword [rcx]
call qword [rax + 0x20]
cvttss2si eax, xmm0
sub edi, eax
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov r8d, 2
lea rdx, [rsp + 0x30]
call qword [rax + 0x28]
movzx r14d, word [rsp + 0x30]
rol r14w, 8
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x30], xmm0
xor esi, esi
mov qword [rbp - 0x20], rsi
mov rax, qword [rsp + 0x68]
cmp qword [rsp + 0x70], rax
je 0x14019b44f
mov qword [rax], rsi
mov qword [rax + 8], rsi
mov qword [rax + 0x10], rsi
mov ecx, esi
mov qword [rbp - 0x30], rcx
mov eax, esi
mov qword [rbp - 0x20], rax
add qword [rsp + 0x68], 0x18
jmp 0x14019b46a
lea r8, [rbp - 0x30]
mov rdx, qword [rsp + 0x68]
lea rcx, [rsp + 0x60]
call fcn.14012d830
mov rax, qword [rbp - 0x20]
mov rcx, qword [rbp - 0x30]
test rcx, rcx
je 0x14019b4a8
sub rax, rcx
sar rax, 2
lea rdx, [rax*4]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14019b4a3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14019c397
call fcn.14023ed44
test edi, edi
jle 0x14019b4d2
test ebx, ebx
jle 0x14019b4d2
mov rcx, qword [rbp - 0x40]
mov rax, qword [rcx]
mov r9d, esi
cmp r14w, 3
setne r9b
inc r9d
mov dword [rsp + 0x20], esi
mov r8d, ebx
mov edx, edi
call qword [rax + reloc.WS2_32.dll_htonl]
xor eax, eax
cmp ax, r14w
jae 0x14019b55f
mov rdi, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx]
mov rax, qword [rcx]
mov r8d, 2
lea rdx, [rsp + 0x30]
call qword [rax + 0x28]
movzx eax, word [rsp + 0x30]
movzx ebx, ax
shr bx, 8
shl ax, 8
or bx, ax
movsx eax, bx
mov dword [rbp - 0x80], eax
mov rdx, qword [rdi - 0x10]
cmp qword [rdi - 8], rdx
je 0x14019b528
mov dword [rdx], eax
add qword [rdi - 0x10], 4
jmp 0x14019b535
lea r8, [rbp - 0x80]
lea rcx, [rdi - 0x18]
call fcn.140019ca0
cmp bx, 0xfffe
je 0x14019bc42
mov rax, qword [rsp + 0x40]
mov rcx, qword [rax]
mov rax, qword [rcx]
mov edx, 4
lea r8d, [rdx - 3]
call qword [rax + 0x30]
inc si
cmp si, r14w
jb 0x14019b4e3
mov rsi, qword [rsp + 0x40]
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov edx, 4
lea r8d, [rdx - 3]
call qword [rax + 0x30]
mov dword [rbp + 0x90], 0
mov byte [rbp + 0x94], 0
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov r8d, 4
lea rdx, [rbp + 0x90]
call qword [rax + 0x28]
xor r14d, r14d
mov ecx, r14d
lea rdx, [rbp + 0x90]
lea r8, str.norm
movzx eax, byte [rdx + rcx]
inc rcx
cmp al, byte [r8 + rcx - 1]
jne 0x14019b5c7
cmp rcx, 5
jne 0x14019b5b1
jmp 0x14019b635
mov rcx, r14
lea rdx, [rbp + 0x90]
lea r8, str.scrn
nop dword [rax + rax]
movzx eax, byte [rdx + rcx]
inc rcx
cmp al, byte [r8 + rcx - 1]
jne 0x14019b5f9
cmp rcx, 5
jne 0x14019b5e0
lea edx, [rcx - 1]
jmp 0x14019b627
mov rcx, r14
lea rdx, [rbp + 0x90]
lea r8, str.mul
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
inc rcx
cmp al, byte [r8 + rcx - 1]
jne 0x14019b635
cmp rcx, 5
jne 0x14019b610
lea edx, [rcx - 3]
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
call qword [rax + 0xa0]
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov r8d, 1
lea rdx, [rsp + 0x39]
call qword [rax + 0x28]
mov rdx, qword [rsp + 0x50]
mov rax, qword [rdx + 8]
movsxd rcx, dword [rax + 4]
add rdx, 8
add rcx, rdx
mov rdx, qword [rcx]
movzx eax, byte [rsp + 0x39]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
divss xmm1, xmm6
call qword [rdx + 0xb0]
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov edx, 7
lea r8d, [rdx - 6]
call qword [rax + 0x30]
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov edx, 4
lea r8d, [rdx - 3]
call qword [rax + 0x30]
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov r8d, 4
lea rdx, [rsp + 0x34]
call qword [rax + 0x28]
mov ecx, dword [rsp + 0x34]
mov edx, ecx
and edx, 0xff0000
mov eax, ecx
shr eax, 0x10
or edx, eax
shr edx, 8
mov eax, ecx
and eax, 0xff00
shl ecx, 0x10
or eax, ecx
shl eax, 8
or edx, eax
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov r8d, 1
call qword [rax + 0x30]
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov r8d, 1
lea rdx, [rsp + 0x38]
call qword [rax + 0x28]
movzx ecx, byte [rsp + 0x38]
inc ecx
call fcn.14023ed88
mov rbx, rax
movzx r8d, byte [rsp + 0x38]
inc r8d
xor edx, edx
mov rcx, rax
call fcn.14025e440
mov rcx, qword [rsi]
mov r9, qword [rcx]
movzx r8d, byte [rsp + 0x38]
mov rdx, rbx
call qword [r9 + 0x28]
mov qword [rbp + 0x80], r14
mov qword [rbp + 0x88], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x70], r14b
mov rdi, 0xffffffffffffffff
mov r8, rdi
nop dword [rax]
inc r8
cmp byte [rbx + r8], r14b
jne 0x14019b750
mov rdx, rbx
lea rcx, [rbp + 0x70]
call fcn.14000b830
nop
mov rcx, rbx
call fcn.14023ed44
movzx r8d, byte [rsp + 0x38]
inc r8d
and r8d, 3
je 0x14019b794
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov edx, 4
sub edx, r8d
mov r8d, 1
call qword [rax + 0x30]
mov dword [rbp + 0x98], 0
mov byte [rbp + 0x9c], 0
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov r8d, 4
lea rdx, [rbp + 0x98]
call qword [rax + 0x28]
mov rcx, r14
lea rdx, [rbp + 0x98]
lea rbx, str.8BIM
nop dword [rax]
movzx eax, byte [rdx + rcx]
inc rcx
cmp al, byte [rbx + rcx - 1]
jne 0x14019b888
cmp rcx, 5
jne 0x14019b7d0
nop word [rax + rax]
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov edx, 4
lea r8d, [rdx - 3]
call qword [rax + 0x30]
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov r8d, 4
lea rdx, [rsp + 0x34]
call qword [rax + 0x28]
mov ecx, dword [rsp + 0x34]
mov edx, ecx
and edx, 0xff0000
mov eax, ecx
shr eax, 0x10
or edx, eax
shr edx, 8
mov eax, ecx
and eax, 0xff00
shl ecx, 0x10
or eax, ecx
shl eax, 8
or edx, eax
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov r8d, 1
call qword [rax + 0x30]
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov r8d, 4
lea rdx, [rbp + 0x98]
call qword [rax + 0x28]
mov rcx, r14
lea rdx, [rbp + 0x98]
nop dword [rax]
movzx eax, byte [rdx + rcx]
inc rcx
cmp al, byte [rbx + rcx - 1]
jne 0x14019b888
cmp rcx, 5
jne 0x14019b870
jmp 0x14019b7f0
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov edx, 0xfffffffc
lea r8d, [rdx + 5]
call qword [rax + 0x30]
lea rdx, [rbp + 0x70]
lea rcx, [rbp + 0x40]
call fcn.14000b200
mov rax, qword [rsp + 0x50]
mov qword [rbp + 0x60], rax
mov rcx, qword [rsp + 0x58]
mov qword [rbp + 0x68], rcx
test rcx, rcx
je 0x14019b8d0
mov eax, 1
lock xadd dword [rcx + 8], eax
mov rcx, qword [rbp + 0x68]
mov rax, qword [rbp + 0x60]
or r12d, 1
mov r9, qword [rbp - 0x78]
mov rdx, qword [r9 + 8]
cmp qword [r9 + 0x10], rdx
je 0x14019b91b
movups xmm0, xmmword [rbp + 0x40]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rbp + 0x50]
movups xmmword [rdx + 0x10], xmm1
mov qword [rbp + 0x50], r14
mov qword [rbp + 0x58], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x40], 0
mov qword [rdx + 0x20], rax
mov r8, r14
mov qword [rbp + 0x68], r14
mov qword [rdx + 0x28], rcx
mov qword [rbp + 0x60], r14
add qword [r9 + 8], 0x30
jmp 0x14019b92b
lea r8, [rbp + 0x40]
mov rcx, r9
call fcn.14010bee0
mov r8, qword [rbp + 0x68]
test r8, r8
je 0x14019b961
mov eax, edi
lock xadd dword [r8 + 8], eax
cmp eax, 1
jne 0x14019b961
mov rbx, qword [rbp + 0x68]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
mov eax, edi
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x14019b961
mov rcx, qword [rbp + 0x68]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
nop
lea rcx, [rbp + 0x40]
call fcn.14000b5d0
nop
lea rcx, [rbp + 0x70]
call fcn.14000b5d0
nop
mov rbx, qword [rbp - 0x38]
test rbx, rbx
je 0x14019b9a9
mov eax, edi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x14019b9a9
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
mov eax, edi
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x14019b9a9
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_recv]
nop
mov rbx, qword [rsp + 0x58]
test rbx, rbx
je 0x14019b9de
mov eax, edi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x14019b9de
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
mov eax, edi
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x14019b9de
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_recv]
nop
inc r15d
cmp r15d, r13d
jl 0x14019b220
mov rdi, qword [rsp + 0x60]
mov qword [rsp + 0x48], rdi
mov r14, 0xffffffffffffffff
mov rax, qword [rbp - 0x78]
mov rbx, qword [rax]
mov qword [rbp - 0x68], rbx
cmp rbx, qword [rax + 8]
je 0x14019c205
xor r15d, r15d
mov rcx, qword [rbx + 0x20]
mov rax, qword [rcx]
lea rdx, [rbp - 0x60]
call qword [rax]
nop
mov rdx, qword [rbx + 0x20]
mov rax, qword [rdx + 8]
movsxd rcx, dword [rax + 4]
add rdx, 8
add rcx, rdx
mov rax, qword [rcx]
call qword [rax + 0x40]
cvttss2si r14d, xmm0
mov dword [rsp + 0x78], r14d
mov rdx, qword [rbx + 0x20]
mov rax, qword [rdx + 8]
movsxd rcx, dword [rax + 4]
add rdx, 8
add rcx, rdx
mov rax, qword [rcx]
call qword [rax + 0x48]
cvttss2si r12d, xmm0
mov dword [rsp + 0x7c], r12d
mov rcx, qword [rbx + 0x20]
mov rax, qword [rcx]
lea rdx, [rbp + 0x20]
call qword [rax]
nop
mov rcx, qword [rax]
mov rax, qword [rcx]
call qword [rax + 0x58]
nop
mov rdi, qword [rbp + 0x28]
mov r13, 0xffffffffffffffff
test rdi, rdi
je 0x14019babc
mov eax, r13d
lock xadd dword [rdi + 8], eax
cmp eax, 1
jne 0x14019babc
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + reloc.WS2_32.dll_htonl]
mov eax, r13d
lock xadd dword [rdi + 0xc], eax
cmp eax, 1
jne 0x14019babc
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + reloc.WS2_32.dll_recv]
nop
mov qword [rbp - 0x48], r15
mov rdi, qword [rsp + 0x48]
mov rcx, qword [rdi + 8]
mov rdx, qword [rdi]
mov rax, rcx
sub rax, rdx
sar rax, 2
test rax, rax
je 0x14019becc
nop
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov r8d, 2
lea rdx, [rsp + 0x30]
call qword [rax + 0x28]
movzx edx, word [rsp + 0x30]
rol dx, 8
cmp dx, 1
ja 0x14019c0cf
mov rax, qword [rdi]
mov ecx, dword [rax + r15*4]
mov eax, 2
sub eax, ecx
mov r15d, 3
test ecx, ecx
cmovns r15d, eax
movzx ecx, dx
test ecx, ecx
je 0x14019be10
cmp ecx, 1
jne 0x14019be9b
movsxd rcx, r12d
mov eax, 2
mul rcx
cmovo rax, r13
mov rcx, rax
call fcn.14023ed88
mov r14, rax
mov qword [rbp - 0x50], rax
xor eax, eax
mov esi, eax
test r12d, r12d
jle 0x14019bbaa
mov rdi, r14
mov r14d, r12d
mov r12, qword [rsp + 0x40]
nop word [rax + rax]
mov rcx, qword [r12]
mov r9, qword [rcx]
mov r8d, 2
lea rdx, [rsp + 0x30]
call qword [r9 + 0x28]
movzx eax, word [rsp + 0x30]
rol ax, 8
movzx ecx, ax
mov word [rdi], cx
add esi, ecx
lea rdi, [rdi + 2]
sub r14, 1
jne 0x14019bb70
mov r12d, dword [rsp + 0x7c]
mov r14, qword [rbp - 0x50]
movsxd rdi, esi
mov rcx, rdi
call fcn.14023ed88
mov r13, rax
mov rsi, rax
mov rax, qword [rsp + 0x40]
mov rcx, qword [rax]
mov r9, qword [rcx]
mov r8, rdi
mov rdx, rsi
call qword [r9 + 0x28]
xor eax, eax
mov edi, eax
test r12d, r12d
jle 0x14019bdff
movsxd r15, r15d
mov rcx, qword [rbp - 0x60]
mov rax, qword [rcx]
mov edx, edi
call qword [rax + 0x60]
lea rcx, [r15 + rax]
movzx edx, word [r14]
test dx, dx
je 0x14019bdf0
mov r10d, 0xffff
mov r9, rsi
movzx eax, byte [rsi]
inc rsi
test al, al
jns 0x14019bdb6
not al
movzx eax, al
movzx r8d, byte [rsi]
lea rsi, [r9 + 2]
add dx, r10w
add eax, 2
je 0x14019bde6
nop
mov byte [rcx], r8b
add rcx, 4
sub rax, 1
jne 0x14019bc30
jmp 0x14019bde6
mov rbx, qword [rbp - 0x78]
mov rdx, qword [rbx + 8]
mov rcx, qword [rbx]
call fcn.14010c7e0
mov rax, qword [rbx]
mov qword [rbx + 8], rax
mov rbx, qword [rbp - 0x38]
mov r14, 0xffffffffffffffff
test rbx, rbx
je 0x14019bc96
mov eax, r14d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x14019bc96
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
mov eax, r14d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x14019bc96
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_recv]
nop
mov rbx, qword [rsp + 0x58]
test rbx, rbx
je 0x14019bccd
mov eax, r14d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x14019bccd
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
mov eax, r14d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x14019bccd
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_recv]
nop
mov rbx, qword [rsp + 0x60]
test rbx, rbx
je 0x14019bd3d
mov rdx, qword [rsp + 0x68]
mov rcx, rbx
call fcn.14012dc80
mov rcx, qword [rsp + 0x70]
sub rcx, rbx
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rdx, [rdx + rdx*2]
shl rdx, 3
mov rax, rbx
cmp rdx, 0x1000
jb 0x14019bd34
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14019c39d
mov rcx, rbx
call fcn.14023ed44
nop
mov rax, qword [rsp + 0x40]
mov rbx, qword [rax + 8]
test rbx, rbx
je 0x14019bd78
mov eax, r14d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x14019bd78
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
mov eax, r14d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x14019bd78
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_recv]
nop
mov rbx, qword [rbp - 0x70]
mov rbx, qword [rbx + 8]
test rbx, rbx
je 0x14019bdb1
mov eax, r14d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x14019bdb1
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
lock xadd dword [rbx + 0xc], r14d
cmp r14d, 1
jne 0x14019bdb1
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_recv]
nop
jmp 0x14019c35d
movzx eax, al
add eax, 1
je 0x14019bde6
mov r8d, eax
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rsi]
mov byte [rcx], al
inc rsi
add dx, r10w
add rcx, 4
sub r8, 1
jne 0x14019bdd0
add dx, r10w
jne 0x14019bc03
inc edi
add r14, 2
cmp edi, r12d
jl 0x14019bbe0
mov rcx, r13
call fcn.14023ed44
mov rcx, qword [rbp - 0x50]
jmp 0x14019be8c
mov eax, r12d
imul eax, r14d
movsxd rdi, eax
mov rcx, rdi
call fcn.14023ed88
mov r13, rax
mov rsi, rax
mov rax, qword [rsp + 0x40]
mov rcx, qword [rax]
mov r9, qword [rcx]
mov r8, rdi
mov rdx, rsi
call qword [r9 + 0x28]
xor eax, eax
mov edi, eax
test r12d, r12d
jle 0x14019be89
movsxd r14, r15d
mov r15d, dword [rsp + 0x78]
nop
mov rcx, qword [rbp - 0x60]
mov rax, qword [rcx]
mov edx, edi
call qword [rax + 0x60]
add rax, r14
test r15d, r15d
jle 0x14019be82
mov rdx, r15
nop word [rax + rax]
movzx ecx, byte [rsi]
mov byte [rax], cl
lea rax, [rax + 4]
inc rsi
sub rdx, 1
jne 0x14019be70
inc edi
cmp edi, r12d
jl 0x14019be50
mov rcx, r13
call fcn.14023ed44
mov rdi, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x40]
mov r15, qword [rbp - 0x48]
inc r15
mov qword [rbp - 0x48], r15
mov rcx, qword [rdi + 8]
mov rdx, qword [rdi]
mov rax, rcx
sub rax, rdx
sar rax, 2
cmp r15, rax
mov r14d, dword [rsp + 0x78]
mov r13, 0xffffffffffffffff
jb 0x14019bae0
mov dil, 1
sub rcx, rdx
sar rcx, 2
xor r15d, r15d
cmp rcx, 4
jne 0x14019bfd5
mov esi, r15d
test r12d, r12d
jle 0x14019bfd5
mov ebx, 0xff
mov rcx, qword [rbp - 0x60]
mov rax, qword [rcx]
mov edx, esi
call qword [rax + 0x60]
mov r11d, r15d
test r14d, r14d
jle 0x14019bfc1
lea r8, [rax + 1]
mov r12, qword [rbp - 0x18]
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [r8 + 2]
test al, al
je 0x14019bfac
xor dil, dil
cmp byte [r12 + 8], dil
je 0x14019bfbc
cmp al, bl
je 0x14019bfac
movzx ecx, al
movzx eax, byte [r8 - 1]
sub eax, ebx
shl eax, 8
cdq
idiv ecx
mov r10d, eax
movzx eax, byte [r8]
sub eax, ebx
shl eax, 8
cdq
idiv ecx
lea r9d, [rbx + rax]
movzx eax, byte [r8 + 1]
sub eax, ebx
shl eax, 8
cdq
idiv ecx
add eax, ebx
add r10d, ebx
jns 0x14019bf7b
mov r10d, r15d
jmp 0x14019bf82
cmp r10d, ebx
cmovg r10d, ebx
test r9d, r9d
jns 0x14019bf8c
mov r9d, r15d
jmp 0x14019bf93
cmp r9d, ebx
cmovg r9d, ebx
test eax, eax
jns 0x14019bf9c
mov eax, r15d
jmp 0x14019bfa1
cmp eax, ebx
cmovg eax, ebx
mov byte [r8 - 1], r10b
mov byte [r8], r9b
mov byte [r8 + 1], al
inc r11d
add r8, 4
cmp r11d, r14d
jl 0x14019bf20
mov r12d, dword [rsp + 0x7c]
inc esi
cmp esi, r12d
jl 0x14019bef4
mov rbx, qword [rbp - 0x68]
test dil, dil
je 0x14019c014
mov edi, r15d
test r12d, r12d
jle 0x14019c014
nop dword [rax]
mov rcx, qword [rbp - 0x60]
mov rax, qword [rcx]
mov edx, edi
call qword [rax + 0x60]
add rax, 3
test r14d, r14d
jle 0x14019c00d
mov ecx, r14d
nop dword [rax + rax]
mov byte [rax], 0xff
lea rax, [rax + 4]
sub rcx, 1
jne 0x14019c000
inc edi
cmp edi, r12d
jl 0x14019bfe0
mov rcx, qword [rbx + 0x20]
mov rax, qword [rcx]
lea rdx, [rbp + 0x30]
call qword [rax]
nop
mov rcx, qword [rax]
mov rax, qword [rcx]
call qword [rax + 0x80]
nop
mov rdi, qword [rbp + 0x38]
mov r14, 0xffffffffffffffff
test rdi, rdi
je 0x14019c06c
mov eax, r14d
lock xadd dword [rdi + 8], eax
cmp eax, 1
jne 0x14019c06c
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + reloc.WS2_32.dll_htonl]
mov eax, r14d
lock xadd dword [rdi + 0xc], eax
cmp eax, 1
jne 0x14019c06c
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + reloc.WS2_32.dll_recv]
nop
mov rdi, qword [rbp - 0x58]
test rdi, rdi
je 0x14019c0a2
mov eax, r14d
lock xadd dword [rdi + 8], eax
cmp eax, 1
jne 0x14019c0a2
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + reloc.WS2_32.dll_htonl]
mov eax, r14d
lock xadd dword [rdi + 0xc], eax
cmp eax, 1
jne 0x14019c0a2
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + reloc.WS2_32.dll_recv]
nop
add rbx, 0x30
mov qword [rbp - 0x68], rbx
add qword [rsp + 0x48], 0x18
mov rax, qword [rbp - 0x78]
mov rax, qword [rax + 8]
mov qword [rbp + 0x18], rax
cmp rbx, rax
je 0x14019c200
mov rsi, qword [rsp + 0x40]
jmp 0x14019ba13
mov rbx, qword [rbp - 0x78]
mov rdx, qword [rbx + 8]
mov rcx, qword [rbx]
call fcn.14010c7e0
mov rax, qword [rbx]
mov qword [rbx + 8], rax
mov rbx, qword [rbp - 0x58]
test rbx, rbx
je 0x14019c11c
mov eax, r13d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x14019c11c
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
mov eax, r13d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x14019c11c
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_recv]
nop
mov rbx, qword [rsp + 0x60]
test rbx, rbx
je 0x14019c18c
mov rdx, qword [rsp + 0x68]
mov rcx, rbx
call fcn.14012dc80
mov rcx, qword [rsp + 0x70]
sub rcx, rbx
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rdx, [rdx + rdx*2]
shl rdx, 3
mov rax, rbx
cmp rdx, 0x1000
jb 0x14019c183
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14019c3a3
mov rcx, rbx
call fcn.14023ed44
nop
mov rbx, qword [rsi + 8]
test rbx, rbx
je 0x14019c1c2
mov eax, r13d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x14019c1c2
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
mov eax, r13d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x14019c1c2
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_recv]
nop
mov rbx, qword [rbp - 0x70]
mov rbx, qword [rbx + 8]
test rbx, rbx
je 0x14019c1fb
mov eax, r13d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x14019c1fb
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
lock xadd dword [rbx + 0xc], r13d
cmp r13d, 1
jne 0x14019c1fb
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_recv]
nop
jmp 0x14019c35d
mov rdi, qword [rsp + 0x60]
test rdi, rdi
je 0x14019c270
mov rdx, qword [rsp + 0x68]
mov rcx, rdi
call fcn.14012dc80
mov rcx, qword [rsp + 0x70]
sub rcx, rdi
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rdx, [rdx + rdx*2]
shl rdx, 3
mov rax, rdi
cmp rdx, 0x1000
jb 0x14019c267
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14019c391
mov rcx, rdi
call fcn.14023ed44
nop
mov rax, qword [rsp + 0x40]
mov rbx, qword [rax + 8]
test rbx, rbx
je 0x14019c2ab
mov eax, r14d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x14019c2ab
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
mov eax, r14d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x14019c2ab
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_recv]
nop
mov rbx, qword [rbp - 0x70]
mov rbx, qword [rbx + 8]
test rbx, rbx
je 0x14019c2e4
mov eax, r14d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x14019c2e4
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
lock xadd dword [rbx + 0xc], r14d
cmp r14d, 1
jne 0x14019c2e4
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_recv]
nop
xor al, al
jmp 0x14019c35f
mov rbx, qword [rsi + 8]
mov r14, 0xffffffffffffffff
test rbx, rbx
je 0x14019c328
mov eax, r14d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x14019c328
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
mov eax, r14d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x14019c328
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_recv]
nop
mov rbx, qword [r15 + 8]
test rbx, rbx
je 0x14019c35d
mov eax, r14d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x14019c35d
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
lock xadd dword [rbx + 0xc], r14d
cmp r14d, 1
jne 0x14019c35d
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_recv]
nop
mov al, 1
mov rcx, qword [rbp + 0xa8]
xor rcx, rsp
call fcn.14023ed20
mov rbx, qword [rsp + 0x200]
movaps xmm6, xmmword [rsp + 0x1b0]
add rsp, 0x1c0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1402672dc
nop
call fcn.1402672dc
nop
call fcn.1402672dc
int3
call fcn.1402672dc
int3