Function at 0x1337c0ea8850
Capabilities:
Encode data using xor
Encrypt data using speck

Disassembly:
mov dword [rcx + 0x74], edx
sub edx, 1
je 0x1337c0ea40f1
sub edx, 1
je 0x1337c0ea40eb
cmp edx, 1
je 0x1337c0ea40e5
xor eax, eax
ret
mov eax, 3
ret
mov eax, 2
ret
mov eax, 1
ret
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbx
push rsi
push rdi
push r14
push r15
sub rsp, 0x60
cmp dword [rcx + 0x74], 0
lea rbx, [rcx + 8]
mov rax, qword [rsp + 0xb0]
mov r10, r9
mov rsi, r8
mov r15, rdx
mov r14, rcx
mov edi, 1
jge 0x1337c0ea889b
xor eax, eax
add rsp, 0x60
pop r15
pop r14
pop rdi
pop rsi
pop rbx
ret
mov rcx, qword [r9]
test rcx, rcx
je 0x1337c0ea88c6
test rax, rax
je 0x1337c0ea88ae
cmp qword [rax], 0
jne 0x1337c0ea88c6
mov edx, 0xffffffec
mov rcx, r14
add rsp, 0x60
pop r15
pop r14
pop rdi
pop rsi
pop rbx
jmp 0x1337c0ea40d0
mov qword [rsp + 0x58], rbp
mov qword [rsp + 0x50], r12
xor r12d, r12d
test rcx, rcx
mov qword [rsp + 0x48], r13
cmovne r12, rax
cmp dword [r14 + 0x48], 0
mov qword [rsp + 0x38], r12
jne 0x1337c0ea88f7
mov rax, qword [rdx]
mov qword [rbx + 0x18], rax
mov rax, qword [r8]
jmp 0x1337c0ea8900
mov edi, 2
lea rax, [r14 + 0x40]
mov qword [rbx + 0x10], rax
lea r11, [0x1337c0de0000]
mov r13d, 0x40
jmp 0x1337c0ea8920
mov r12, qword [rsp + 0x38]
mov r15, qword [rsp + 0x98]
lea rbp, [r14 + 0x2a8]
cmp edi, 1
je 0x1337c0ea89c4
cmp edi, 2
jne 0x1337c0ea9abe
cmp qword [r14 + 0x78], 0
je 0x1337c0ea896d
mov r8, r12
mov dword [rsp + 0x20], 1
mov rdx, r10
mov rcx, r14
call fcn.1337c0ea6e50
test eax, eax
js 0x1337c0ea9a60
mov r10, qword [rsp + 0xa8]
lea r11, [0x1337c0de0000]
mov ecx, dword [r14 + 0x48]
test ecx, ecx
je 0x1337c0ea9a86
cmp qword [rbx + 0x18], 0
jne 0x1337c0ea8998
mov dword [r14 + 0x48], 0
mov rax, qword [r15]
mov qword [rbx + 0x18], rax
mov rax, qword [rsi]
mov qword [rbx + 0x10], rax
jmp 0x1337c0ea89bf
cmp qword [r15], 0
je 0x1337c0ea9a62
mov rax, qword [rsi]
movzx eax, byte [rax]
mov byte [rcx + r14 + 0x40], al
inc dword [r14 + 0x48]
mov eax, dword [r14 + 0x48]
mov qword [rbx + 0x18], rax
inc qword [rsi]
dec qword [r15]
mov edi, 1
movsxd rax, dword [r14]
cmp eax, 0x1a
ja case.default.0x1337c0ea89db
mov ecx, dword [r11 + rax*4 + 0xc9b34]
add rcx, r11
jmp rcx
mov r8d, dword [rbx + 8]
cmp r13d, r8d
jne 0x1337c0ea8a22
mov rdx, qword [rbx + 0x18]
test rdx, rdx
jne 0x1337c0ea89f9
mov edi, 2
jmp case.default.0x1337c0ea89db
mov rcx, qword [rbx + 0x10]
shr qword [rbx], 8
movzx eax, byte [rcx]
shl rax, 0x38
or qword [rbx], rax
lea eax, [r8 - 8]
mov dword [rbx + 8], eax
lea rax, [rdx - 1]
mov qword [rbx + 0x18], rax
lea rax, [rcx + 1]
mov qword [rbx + 0x10], rax
mov r9d, dword [r14 + 0x298]
mov eax, r9d
and eax, 0xffffffdf
mov dword [r14 + 0x298], eax
mov ecx, dword [rbx + 8]
mov rdx, qword [rbx]
mov rax, rdx
shr rax, cl
lea r8d, [rcx + 1]
mov dword [rbx + 8], r8d
test al, 1
jne 0x1337c0ea8a5b
mov dword [r14 + 0x29c], reloc.WS2_32.dll_recv
jmp 0x1337c0ea8ad3
mov ecx, r8d
mov rax, rdx
shr rax, cl
lea ecx, [r8 + 3]
mov dword [rbx + 8], ecx
and eax, 7
je 0x1337c0ea8a7c
add eax, 0x11
mov dword [r14 + 0x29c], eax
jmp 0x1337c0ea8ad3
mov rax, rdx
shr rax, cl
add ecx, 3
and eax, 7
mov dword [rbx + 8], ecx
cmp eax, 1
jne 0x1337c0ea8ab8
test r9b, 0x20
je 0x1337c0ea8aa4
shr rdx, cl
lea eax, [rcx + 1]
mov dword [rbx + 8], eax
test dl, 1
je 0x1337c0ea8aae
mov edi, 0xfffffff3
jmp case.default.0x1337c0ea89db
or dword [r14 + 0x298], 0x20
jmp 0x1337c0ea8ad3
test eax, eax
je 0x1337c0ea8ac8
add eax, 8
mov dword [r14 + 0x29c], eax
jmp 0x1337c0ea8ad3
mov dword [r14 + 0x29c], setsockopt
movzx eax, byte [r14 + 0x298]
mov edi, 1
and al, 0x20
neg al
sbb eax, eax
add eax, 2
mov dword [r14], eax
jmp case.default.0x1337c0ea89db
mov r8d, dword [rbx + 8]
mov eax, r13d
sub eax, r8d
cmp eax, 6
jae 0x1337c0ea8b42
mov rdx, qword [rbx + 0x18]
test rdx, rdx
je 0x1337c0ea89ef
mov rcx, qword [rbx + 0x10]
shr qword [rbx], 8
movzx eax, byte [rcx]
add dword [rbx + 8], 0xfffffff8
mov r8d, dword [rbx + 8]
shl rax, 0x38
or qword [rbx], rax
lea rax, [rdx - 1]
mov qword [rbx + 0x18], rax
lea rax, [rcx + 1]
mov qword [rbx + 0x10], rax
mov eax, r13d
sub eax, r8d
cmp eax, 6
jb 0x1337c0ea8b00
mov rax, qword [rbx]
mov ecx, r8d
shr rax, cl
and eax, 0x3f
mov dword [r14 + 0x29c], eax
add dword [rbx + 8], 6
mov eax, dword [r14 + 0x29c]
sub eax, 0xa
cmp eax, 0x14
ja 0x1337c0ea8aa4
mov dword [r14], 2
mov ecx, dword [r14 + 0x29c]
mov eax, 1
shl eax, cl
mov edx, 0x3030
mov rcx, qword [r14 + 0x38]
sub eax, 0x10
mov dword [r14 + 0x50], eax
call qword [r14 + 0x28]
mov qword [r14 + 0xf0], rax
test rax, rax
jne 0x1337c0ea8bb8
mov r10, qword [rsp + 0xa8]
lea edi, [rax - 0x1e]
lea r11, [0x1337c0de0000]
jmp case.default.0x1337c0ea89db
add rax, 0x1da0
mov qword [r14 + 0xf8], rax
xor eax, eax
mov dword [r14 + 0x108], eax
mov dword [r14 + 0x11c], 1
mov dword [r14 + 0x120], 1
mov dword [r14 + 0x124], 1
mov dword [r14 + 0x110], 0x1000000
mov dword [r14 + 0x114], 0x1000000
mov dword [r14 + 0x118], 0x1000000
mov qword [r14 + 0x128], 1
mov qword [r14 + 0x130], 1
mov qword [r14 + 0x138], 1
mov qword [rbp], rax
mov qword [r14 + 0x2b0], rax
mov qword [r14 + 0x150], rax
mov qword [r14 + 0x98], rax
mov qword [r14 + 0x158], rax
mov qword [r14 + 0xa0], rax
mov byte [r14 + 0x160], al
mov qword [r14 + 0x90], rax
mov qword [r14 + 0xb0], rax
mov qword [r14 + 0xa8], rax
mov qword [r14 + 0xc8], rax
mov qword [r14 + 0xc0], rax
mov qword [r14 + 0xe0], rax
mov qword [r14 + 0xd8], rax
mov dword [r14], 4
mov rdx, rbx
mov rcx, r14
call fcn.1337c0ea4330
mov r10, qword [rsp + 0xa8]
mov edi, eax
lea r11, [0x1337c0de0000]
cmp eax, 1
jne case.default.0x1337c0ea89db
test byte [r14 + 0x298], 6
lea r11, [0x1337c0de0000]
je 0x1337c0ea8cfd
mov ecx, dword [rbx + 8]
mov r8d, ecx
neg r8d
and r8d, 7
je 0x1337c0ea8cfd
mov rdx, qword [rbx]
lea eax, [rcx + r8]
shr rdx, cl
mov dword [rbx + 8], eax
test dword [r11 + r8*4 + 0x3b3080], edx
je 0x1337c0ea8cfd
mov edi, 0xfffffff2
jmp case.default.0x1337c0ea89db
test byte [r14 + 0x298], 4
je 0x1337c0ea8d1b
mov r10, qword [rsp + 0xa8]
mov dword [r14], reloc.SHLWAPI.dll_SHCreateMemStream
jmp case.default.0x1337c0ea89db
cmp dword [r14 + 0x108], 0
jne 0x1337c0ea8d39
mov r10, qword [rsp + 0xa8]
mov dword [r14], recv
jmp case.default.0x1337c0ea89db
mov rcx, r14
call fcn.1337c0ea71e0
test byte [r14 + 0x298], 2
je case.0x1337c0ea89db.17
mov r10, qword [rsp + 0xa8]
mov dword [r14], recv
jmp case.default.0x1337c0ea89db
mov qword [r14], setsockopt
lea rax, [r14 + 0x3b8]
mov qword [r14 + 0x390], rax
mov qword [r14 + 0x2f0], 0
mov qword [r14 + 0x2e8], 0
movsxd rax, dword [r14 + 4]
cmp eax, 3
jl 0x1337c0ea8da7
mov r10, qword [rsp + 0xa8]
mov dword [r14], 5
jmp case.default.0x1337c0ea89db
add rax, 0x47
mov rdx, rbx
mov rcx, r14
lea r8, [r14 + rax*4]
call fcn.1337c0ea4100
mov r10, qword [rsp + 0xa8]
mov edi, eax
lea r11, [0x1337c0de0000]
cmp eax, 1
jne case.default.0x1337c0ea89db
movsxd rax, dword [r14 + 4]
inc dword [r14 + rax*4 + 0x11c]
movsxd rcx, dword [r14 + 4]
cmp dword [r14 + rcx*4 + 0x11c], 2
jae 0x1337c0ea8e02
lea eax, [rcx + 1]
mov dword [r14 + 4], eax
lea r11, [0x1337c0de0000]
jmp case.default.0x1337c0ea89db
mov dword [r14], reloc.WS2_32.dll_send
movsxd rdx, dword [r14 + 4]
xor r9d, r9d
imul eax, edx, 0x278
mov qword [rsp + 0x20], r14
mov ecx, dword [r14 + rdx*4 + 0x11c]
add ecx, 2
movsxd rdx, eax
mov rax, qword [r14 + 0xf0]
lea r8, [rax + rdx*4]
mov edx, ecx
call fcn.1337c0ea50d0
mov r10, qword [rsp + 0xa8]
mov edi, eax
lea r11, [0x1337c0de0000]
cmp eax, 1
jne case.default.0x1337c0ea89db
mov dword [r14], setsockopt
imul eax, dword [r14 + 4], 0x18c
mov edx, 0x1a
xor r9d, r9d
mov qword [rsp + 0x20], r14
movsxd rcx, eax
mov rax, qword [r14 + 0xf8]
lea r8, [rax + rcx*4]
mov ecx, edx
call fcn.1337c0ea50d0
mov r10, qword [rsp + 0xa8]
mov edi, eax
lea r11, [0x1337c0de0000]
cmp eax, 1
jne case.default.0x1337c0ea89db
mov dword [r14], reloc.WS2_32.dll_setsockopt
lea r11, [0x1337c0de0000]
movsxd rdx, dword [r14 + 4]
imul eax, edx, 0x18c
cmp dword [r14 + 0x294], 0
lea rsi, [r14 + rdx*4]
movsxd rcx, eax
mov rax, qword [r14 + 0xf8]
lea r9, [rax + rcx*4]
jne 0x1337c0ea8fb1
mov r8d, dword [rbx + 8]
mov eax, r13d
sub eax, r8d
cmp eax, 0xf
jae 0x1337c0ea8f32
nop word [rax + rax]
mov rdx, qword [rbx + 0x18]
test rdx, rdx
je 0x1337c0ea8f8c
mov rcx, qword [rbx + 0x10]
shr qword [rbx], 8
movzx eax, byte [rcx]
add dword [rbx + 8], 0xfffffff8
mov r8d, dword [rbx + 8]
shl rax, 0x38
or qword [rbx], rax
lea rax, [rdx - 1]
mov qword [rbx + 0x18], rax
lea rax, [rcx + 1]
mov qword [rbx + 0x10], rax
mov eax, r13d
sub eax, r8d
cmp eax, 0xf
jb 0x1337c0ea8ef0
mov rax, qword [rbx]
mov ecx, r8d
shr rax, cl
and eax, 0x7fff
mov r10d, eax
movzx eax, al
lea r9, [r9 + rax*4]
movzx eax, byte [r9]
cmp al, 8
jbe 0x1337c0ea8f7c
sub eax, 8
shr r10d, 8
add r8d, 8
mov dword [rbx + 8], r8d
mov edx, dword [r11 + rax*4 + 0x3b3080]
movzx eax, word [r9 + 2]
and edx, r10d
add edx, eax
movzx eax, byte [r9 + rdx*4]
lea r9, [r9 + rdx*4]
movzx eax, al
add eax, r8d
mov dword [rbx + 8], eax
movzx r10d, word [r9 + 2]
jmp 0x1337c0ea8fb8
lea r8, [rsp + 0x90]
mov rdx, rbx
mov rcx, r9
call fcn.1337c0ea4990
test eax, eax
je 0x1337c0ea90a1
mov r10d, dword [rsp + 0x90]
jmp 0x1337c0ea8fc0
mov r10d, dword [r14 + 0x10c]
mov dword [rsp + 0x90], r10d
mov r8d, dword [rbx + 8]
lea rcx, [0x1337c0de0000]
mov eax, r10d
movzx r9d, byte [rcx + rax*4 + 0x3b3112]
movzx r11d, word [rcx + rax*4 + 0x3b3110]
mov eax, r13d
sub eax, r8d
cmp eax, r9d
jae 0x1337c0ea9032
nop dword [rax + rax]
mov rdx, qword [rbx + 0x18]
test rdx, rdx
je 0x1337c0ea908f
mov rcx, qword [rbx + 0x10]
shr qword [rbx], 8
movzx eax, byte [rcx]
add dword [rbx + 8], 0xfffffff8
mov r8d, dword [rbx + 8]
shl rax, 0x38
or qword [rbx], rax
lea rax, [rdx - 1]
mov qword [rbx + 0x18], rax
lea rax, [rcx + 1]
mov qword [rbx + 0x10], rax
mov eax, r13d
sub eax, r8d
cmp eax, r9d
jb 0x1337c0ea8ff0
mov rax, qword [rbx]
mov ecx, r8d
mov r10, qword [rsp + 0xa8]
shr rax, cl
lea rcx, [0x1337c0de0000]
mov ecx, dword [rcx + r9*4 + 0x3b3080]
and ecx, eax
lea eax, [r9 + r8]
mov dword [rbx + 8], eax
lea eax, [rcx + r11]
mov dword [rsi + 0x110], eax
lea r11, [0x1337c0de0000]
inc dword [r14 + 4]
mov rsi, qword [rsp + 0xa0]
mov dword [r14 + 0x294], 0
mov dword [r14], setsockopt
jmp case.default.0x1337c0ea89db
mov dword [r14 + 0x10c], r10d
mov dword [r14 + 0x294], 1
mov rsi, qword [rsp + 0xa0]
lea r11, [0x1337c0de0000]
mov r10, qword [rsp + 0xa8]
mov edi, 2
jmp case.default.0x1337c0ea89db
mov r9, r14
mov rdx, r12
mov rcx, r10
call fcn.1337c0ea7060
mov r10, qword [rsp + 0xa8]
mov edi, eax
lea r11, [0x1337c0de0000]
cmp eax, 1
jne case.default.0x1337c0ea89db
mov dword [r14], recv
lea r11, [0x1337c0de0000]
jmp case.default.0x1337c0ea89db
cmp dword [r14 + 0x108], 0
jle 0x1337c0ea9176
nop word [rax + rax]
mov edx, dword [rbx + 8]
mov eax, r13d
sub eax, edx
cmp eax, 8
jae 0x1337c0ea915f
nop dword [rax]
mov r8, qword [rbx + 0x18]
test r8, r8
je 0x1337c0ea89ef
mov rcx, qword [rbx + 0x10]
add edx, 0xfffffff8
shr qword [rbx], 8
movzx eax, byte [rcx]
shl rax, 0x38
or qword [rbx], rax
lea rax, [r8 - 1]
mov qword [rbx + 0x18], rax
lea rax, [rcx + 1]
mov qword [rbx + 0x10], rax
mov eax, r13d
sub eax, edx
mov dword [rbx + 8], edx
cmp eax, 8
jb 0x1337c0ea9120
lea eax, [rdx + 8]
mov dword [rbx + 8], eax
dec dword [r14 + 0x108]
cmp dword [r14 + 0x108], 0
jg 0x1337c0ea9110
mov dword [r14], recv
jmp case.default.0x1337c0ea89db
mov r8d, dword [rbx + 8]
mov eax, r13d
sub eax, r8d
cmp eax, 6
jae 0x1337c0ea91d3
mov rdx, qword [rbx + 0x18]
test rdx, rdx
je 0x1337c0ea89ef
mov rcx, qword [rbx + 0x10]
shr qword [rbx], 8
movzx eax, byte [rcx]
add dword [rbx + 8], 0xfffffff8
mov r8d, dword [rbx + 8]
shl rax, 0x38
or qword [rbx], rax
lea rax, [rdx - 1]
mov qword [rbx + 0x18], rax
lea rax, [rcx + 1]
mov qword [rbx + 0x10], rax
mov eax, r13d
sub eax, r8d
cmp eax, 6
jb 0x1337c0ea9191
mov rdx, qword [rbx]
lea eax, [r8 + 6]
mov dword [rbx + 8], eax
mov ecx, r8d
shr rdx, cl
and edx, 0x3f
mov ecx, edx
shr edx, 2
and ecx, 3
shl edx, cl
mov dword [r14 + 0x140], ecx
mov rcx, qword [r14 + 0x38]
mov dword [r14 + 0x144], edx
mov edx, dword [r14 + 0x11c]
call qword [r14 + 0x28]
mov qword [r14 + 0x2b0], rax
lea r11, [0x1337c0de0000]
test rax, rax
jne 0x1337c0ea9230
mov r10, qword [rsp + 0xa8]
lea edi, [rax - 0x15]
jmp case.default.0x1337c0ea89db
mov qword [r14], 6
movsxd r9, dword [r14 + 4]
cmp r9d, dword [r14 + 0x11c]
jge 0x1337c0ea92cf
mov r10, r9
nop dword [rax + rax]
mov r8d, dword [rbx + 8]
mov eax, r13d
sub eax, r8d
cmp eax, 2
jae 0x1337c0ea92a2
nop
mov rdx, qword [rbx + 0x18]
test rdx, rdx
je 0x1337c0ea9413
mov rcx, qword [rbx + 0x10]
add r8d, 0xfffffff8
shr qword [rbx], 8
movzx eax, byte [rcx]
shl rax, 0x38
or qword [rbx], rax
lea rax, [rdx - 1]
mov qword [rbx + 0x18], rax
lea rax, [rcx + 1]
mov qword [rbx + 0x10], rax
mov eax, r13d
sub eax, r8d
mov dword [rbx + 8], r8d
cmp eax, 2
jb 0x1337c0ea9260
mov rdx, qword [rbx]
lea eax, [r8 + 2]
mov dword [rbx + 8], eax
mov ecx, r8d
mov rax, qword [r14 + 0x2b0]
inc r9d
shr rdx, cl
and edx, 3
mov byte [r10 + rax], dl
inc r10
cmp r9d, dword [r14 + 0x11c]
jl 0x1337c0ea9250
mov dword [r14], reloc.WS2_32.dll_shutdown
mov ecx, dword [r14 + 0x11c]
lea rdx, [r14 + 0x2a4]
shl ecx, 6
mov r9, r14
mov r8, rbp
call fcn.1337c0ea5760
mov r10, qword [rsp + 0xa8]
mov edi, eax
lea r11, [0x1337c0de0000]
cmp eax, 1
jne case.default.0x1337c0ea89db
xorps xmm0, xmm0
xor esi, esi
movups xmmword [r14 + 0x2c8], xmm0
movups xmmword [r14 + 0x2d8], xmm0
cmp dword [r14 + 0x11c], esi
jbe 0x1337c0ea93c3
nop
mov rbp, qword [r14 + 0x2a8]
mov r11, rsi
shl r11, 6
xor edi, edi
xor r10d, r10d
movzx r9d, byte [r11 + rbp]
nop dword [rax + rax]
lea rdx, [r10 + r11]
add r10, 4
add rdx, rbp
movzx r8d, byte [rdx + 3]
movzx ecx, byte [rdx + 2]
xor r8, r9
xor rcx, r9
or r8, rcx
movzx ecx, byte [rdx + 1]
xor rcx, r9
or r8, rcx
movzx ecx, byte [rdx]
xor rcx, r9
or r8, rcx
or rdi, r8
cmp r10, r13
jb 0x1337c0ea9350
test rdi, rdi
jne 0x1337c0ea93ac
mov rax, rsi
mov ecx, esi
shr rax, 5
and ecx, 0x1f
lea rdx, [r14 + rax*4]
mov eax, dword [rdx + 0x2c8]
bts eax, ecx
mov dword [rdx + 0x2c8], eax
mov eax, dword [r14 + 0x11c]
inc rsi
cmp rsi, rax
jb 0x1337c0ea9330
lea rbx, [r14 + 8]
mov rsi, qword [rsp + 0xa0]
mov dword [r14], reloc.WS2_32.dll_socket
mov r10d, dword [r14 + 0x140]
mov eax, 0x18
mov r8d, dword [r14 + 0x144]
lea ecx, [r10 + 1]
shl eax, cl
lea r15d, [r8 + 0x10]
add r15d, eax
test byte [r14 + 0x298], 0x20
mov ebp, r15d
je 0x1337c0ea9494
cmp r8d, 0x7ffffffc
jb 0x1337c0ea9429
mov ebp, 0x8000000c
jmp 0x1337c0ea9480
mov r10, qword [rsp + 0xa8]
mov edi, 2
mov dword [r14 + 4], r9d
jmp case.default.0x1337c0ea89db
mov ecx, r10d
mov edx, 0x7ffffffc
sub edx, r8d
mov r9d, 1
shr edx, cl
xor eax, eax
shl r9d, cl
add edx, 4
mov ecx, edx
dec r9d
shr ecx, 1
je 0x1337c0ea9456
nop dword [rax]
inc eax
shr ecx, 1
jne 0x1337c0ea9450
lea ecx, [rax - 1]
shr edx, cl
lea eax, [rax*2 - 4]
and edx, 1
or edx, eax
jne 0x1337c0ea946f
lea ebp, [r8 + 0x10]
jmp 0x1337c0ea9480
lea ebp, [rdx - 1]
mov ecx, r10d
shl ebp, cl
or ebp, r9d
add ebp, 0x11
add ebp, r8d
lea ecx, [r10 + 1]
mov r15d, 0x3e
shl r15d, cl
add r15d, 0x10
add r15d, r8d
mov ecx, dword [r14 + 0x124]
lea r8, [r14 + 0x150]
shl ecx, 2
lea rdx, [r14 + 0x148]
mov r9, r14
call fcn.1337c0ea5760
mov r10, qword [rsp + 0xa8]
mov edi, eax
lea r11, [0x1337c0de0000]
cmp eax, 1
jne 0x1337c0ea8913
mov eax, dword [r14 + 0x2a4]
lea rdx, [r14 + 0xa8]
mov r9d, 0x100
mov dword [rsp + 0x20], eax
mov r8d, r9d
mov rcx, r14
call fcn.1337c0ea9db0
mov ecx, dword [r14 + 0x120]
lea rdx, [r14 + 0xc0]
mov r9d, 0x2c0
mov dword [rsp + 0x20], ecx
mov r8d, r9d
mov rcx, r14
mov edi, eax
call fcn.1337c0ea9db0
mov ecx, dword [r14 + 0x148]
lea rdx, [r14 + 0xd8]
mov dword [rsp + 0x20], ecx
mov esi, eax
mov rcx, r14
mov r9d, ebp
mov r8d, r15d
and esi, edi
call fcn.1337c0ea9db0
and eax, esi
test al, 1
je 0x1337c0ea9b1d
mov qword [r14], 0x18
mov ecx, dword [r14 + 4]
test ecx, ecx
je 0x1337c0ea9571
sub ecx, 1
je 0x1337c0ea9569
cmp ecx, 1
jne 0x1337c0ea9b27
mov r12d, 0xd8
jmp 0x1337c0ea9577
mov r12d, 0xc0
jmp 0x1337c0ea9577
mov r12d, 0xa8
cmp dword [r14 + 0x2e8], 1
lea r15, [r14 + 0x9ec]
je 0x1337c0ea95a6
mov rax, qword [r12 + r14 + 8]
mov qword [r14 + 0x9f0], rax
mov dword [r15], 0
mov dword [r14 + 0x2e8], 1
movzx eax, word [r12 + r14 + 0x14]
cmp dword [r15], eax
jge 0x1337c0ea9613
movzx edx, word [r12 + r14 + 0x12]
lea r9, [rsp + 0xb8]
movzx ecx, word [r12 + r14 + 0x10]
mov r8, qword [r14 + 0x9f0]
mov qword [rsp + 0x20], r14
call fcn.1337c0ea50d0
mov edi, eax
cmp eax, 1
jne 0x1337c0ea972e
mov rcx, qword [r12 + r14]
mov rax, qword [r14 + 0x9f0]
movsxd rdx, dword [r15]
mov qword [rcx + rdx*8], rax
inc dword [r15]
mov eax, dword [rsp + 0xb8]
shl rax, 2
add qword [r14 + 0x9f0], rax
movzx eax, word [r12 + r14 + 0x14]
cmp dword [r15], eax
jl 0x1337c0ea95b1
mov rsi, qword [rsp + 0xa0]
lea rbp, [r14 + 0x2a8]
mov r15, qword [rsp + 0x98]
lea r11, [0x1337c0de0000]
mov r12, qword [rsp + 0x38]
mov edi, 1
mov r10, qword [rsp + 0xa8]
mov dword [r14 + 0x2e8], 0
inc dword [r14 + 4]
cmp dword [r14 + 4], 3
jl case.default.0x1337c0ea89db
mov dword [r14], 0x19
lea rbp, [r14 + 0x2a8]
mov ecx, dword [r14 + 0x12c]
mov r8d, ecx
mov eax, ecx
mov r9d, ecx
shr rax, 5
and ecx, 0x1f
shl r8d, 6
add r8, qword [rbp]
mov qword [r14 + 0x98], r8
mov edx, dword [r14 + rax*4 + 0x2c8]
mov rax, qword [r14 + 0xa8]
shr rdx, cl
and edx, 1
mov dword [r14 + 0x100], edx
movzx ecx, byte [r8]
mov rcx, qword [rax + rcx*8]
mov rax, qword [r14 + 0x2b0]
mov qword [r14 + 0x158], rcx
movzx ecx, byte [rax + r9]
lea rax, [0x1337c1193180]
and ecx, 3
shl rcx, 9
add rcx, rax
mov rax, qword [r14 + 0x150]
mov qword [r14 + 0xa0], rax
mov rax, qword [r14 + 0xc0]
mov qword [r14 + 0x90], rcx
mov rcx, qword [rax]
mov qword [r14 + 0x88], rcx
mov rcx, r14
call fcn.1337c0ea6fb0
test eax, eax
jne 0x1337c0ea975e
mov r15, qword [rsp + 0x98]
lea edi, [rax - 0x1b]
mov r12, qword [rsp + 0x38]
lea r11, [0x1337c0de0000]
mov r10, qword [rsp + 0xa8]
jmp case.default.0x1337c0ea89db
mov rsi, qword [rsp + 0xa0]
lea rbp, [r14 + 0x2a8]
mov r15, qword [rsp + 0x98]
lea r11, [0x1337c0de0000]
mov r12, qword [rsp + 0x38]
mov r10, qword [rsp + 0xa8]
jmp case.default.0x1337c0ea89db
mov r15d, dword [r14 + 0x140]
xor edi, edi
mov esi, dword [r14 + 0x144]
mov ecx, r15d
movzx ebp, word [r14 + 0xea]
mov r11d, 1
shl r11d, cl
xor ecx, ecx
lea r9d, [rdi + 1]
lea r8d, [rdi + 0x10]
test esi, esi
je 0x1337c0ea97ac
mov eax, r8d
inc ecx
inc r8d
mov byte [r14 + rax + 0x2e8], dil
mov dword [r14 + rax*4 + 0x508], ecx
cmp ecx, esi
jb 0x1337c0ea9790
cmp r8d, ebp
jae 0x1337c0ea980d
nop dword [rax]
nop word [rax + rax]
mov ecx, r9d
lea r10d, [rdi + 2]
shl r10d, cl
xor edx, edx
sub r10d, 4
mov ecx, r15d
shl r10d, cl
inc r10d
add r10d, esi
test r11d, r11d
je 0x1337c0ea9802
mov ecx, r8d
lea eax, [r10 + rdx]
inc r8d
inc edx
mov byte [r14 + rcx + 0x2e8], r9b
mov dword [r14 + rcx*4 + 0x508], eax
cmp edx, r11d
jb 0x1337c0ea97e1
add r9d, edi
xor edi, 1
cmp r8d, ebp
jb 0x1337c0ea97c0
mov rsi, qword [rsp + 0xa0]
mov dword [r14], 7
mov rcx, r14
call fcn.1337c0ea7260
mov r15, qword [rsp + 0x98]
mov edi, eax
mov r12, qword [rsp + 0x38]
lea rbp, [r14 + 0x2a8]
mov r10, qword [rsp + 0xa8]
lea r11, [0x1337c0de0000]
cmp eax, 2
jne case.default.0x1337c0ea89db
mov rcx, r14
call fcn.1337c0ea7c70
mov r10, qword [rsp + 0xa8]
lea r11, [0x1337c0de0000]
mov edi, eax
jmp 0x1337c0ea8918
mov r8, r12
mov dword [rsp + 0x20], 0
mov rdx, r10
mov rcx, r14
call fcn.1337c0ea6e50
mov r10, qword [rsp + 0xa8]
mov edi, eax
lea r11, [0x1337c0de0000]
cmp eax, 1
jne case.default.0x1337c0ea89db
mov rcx, r14
call fcn.1337c0ea6f70
mov ecx, dword [r14 + 0x29c]
mov eax, 1
shl eax, cl
cmp dword [r14 + 0x58], eax
jne 0x1337c0ea98c4
mov eax, dword [r14 + 0x50]
mov dword [r14 + 0x54], eax
mov eax, dword [r14]
cmp eax, 0xf
jne 0x1337c0ea98f8
mov ecx, 7
cmp dword [r14 + 0x108], 0
lea r11, [0x1337c0de0000]
mov eax, recv
cmovne eax, ecx
mov dword [r14], eax
mov r10, qword [rsp + 0xa8]
jmp case.default.0x1337c0ea89db
cmp eax, 0x10
jne 0x1337c0ea9919
mov eax, 0xa
lea r11, [0x1337c0de0000]
mov dword [r14], eax
mov r10, qword [rsp + 0xa8]
jmp case.default.0x1337c0ea89db
cmp dword [r14 + 4], 0
jne 0x1337c0ea9927
mov ecx, 9
jmp 0x1337c0ea98d1
mov eax, 8
lea r11, [0x1337c0de0000]
mov dword [r14], eax
mov r10, qword [rsp + 0xa8]
jmp case.default.0x1337c0ea89db
cmp dword [r14 + 0x108], 0
jge 0x1337c0ea9957
mov edi, 0xfffffff6
jmp case.default.0x1337c0ea89db
mov rcx, r14
call fcn.1337c0ea9d10
test byte [r14 + 0x298], 1
jne 0x1337c0ea9984
mov r10, qword [rsp + 0xa8]
lea r11, [0x1337c0de0000]
mov dword [r14], 3
jmp case.default.0x1337c0ea89db
mov r9d, dword [rbx + 8]
lea r11, [0x1337c0de0000]
mov r8d, r9d
mov ecx, 0
neg r8d
and r8d, 7
je 0x1337c0ea99ba
mov rax, qword [rbx]
mov ecx, r9d
shr rax, cl
mov ecx, dword [r11 + r8*4 + 0x3b3080]
and ecx, eax
add r9d, r8d
mov dword [rbx + 8], r9d
test ecx, ecx
je 0x1337c0ea99d0
mov r10, qword [rsp + 0xa8]
mov edi, 0xfffffff1
jmp case.default.0x1337c0ea89db
cmp dword [r14 + 0x48], 0
jne 0x1337c0ea9a1c
mov r8, qword [rbx + 0x18]
mov eax, r13d
sub eax, r9d
shr eax, 3
mov ecx, eax
sub qword [rbx + 0x10], rcx
add r8, rcx
mov qword [rbx + 0x18], r8
lea edx, [rax*8]
cmp edx, r13d
jne 0x1337c0ea9a06
mov qword [rbx], 0
jmp 0x1337c0ea9a0b
mov ecx, edx
shl qword [rbx], cl
lea eax, [rdx + r9]
mov dword [rbx + 8], eax
mov qword [r15], r8
mov rax, qword [rbx + 0x10]
mov qword [rsi], rax
mov dword [r14], 0x1a
cmp qword [r14 + 0x78], 0
je 0x1337c0ea9a62
mov rdx, qword [rsp + 0xa8]
mov r8, r12
mov rcx, r14
mov dword [rsp + 0x20], 1
call fcn.1337c0ea6e50
mov edi, eax
cmp eax, 1
je 0x1337c0ea9a62
mov r10, qword [rsp + 0xa8]
lea r11, [0x1337c0de0000]
jmp case.default.0x1337c0ea89db
mov edi, eax
mov edx, edi
mov rcx, r14
mov r12, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov r13, qword [rsp + 0x48]
add rsp, 0x60
pop r15
pop r14
pop rdi
pop rsi
pop rbx
jmp 0x1337c0ea40d0
mov rax, qword [rbx + 0x10]
mov qword [rsi], rax
mov rax, qword [rbx + 0x18]
mov qword [r15], rax
test rax, rax
je 0x1337c0ea9a62
nop dword [rax]
mov rax, qword [rsi]
mov ecx, dword [r14 + 0x48]
movzx eax, byte [rax]
mov byte [rcx + r14 + 0x40], al
inc dword [r14 + 0x48]
inc qword [rsi]
sub qword [r15], 1
jne 0x1337c0ea9aa0
jmp 0x1337c0ea9a62
cmp dword [r14 + 0x48], 0
je 0x1337c0ea9acf
mov dword [r14 + 0x48], 0
jmp 0x1337c0ea9a62
mov r9, qword [rbx + 0x18]
mov r8d, dword [rbx + 8]
sub r13d, r8d
shr r13d, 3
mov ecx, r13d
sub qword [rbx + 0x10], rcx
add r9, rcx
mov qword [rbx + 0x18], r9
lea edx, [r13*8]
cmp edx, 0x40
jne 0x1337c0ea9b02
mov qword [rbx], 0
jmp 0x1337c0ea9b07
mov ecx, edx
shl qword [rbx], cl
lea eax, [r8 + rdx]
mov dword [rbx + 8], eax
mov qword [r15], r9
mov rax, qword [rbx + 0x10]
mov qword [rsi], rax
jmp 0x1337c0ea9a62
mov edx, 0xffffffea
jmp 0x1337c0ea9a64
mov edx, 0xffffffe1
jmp 0x1337c0ea9a64