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

Disassembly:
mov dword [rcx + 0x74], edx
sub edx, 1
je 0x1337c0ea86d1
sub edx, 1
je 0x1337c0ea86cb
cmp edx, 1
je 0x1337c0ea86c5
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 0x1337c0eace6b
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 0x1337c0eace96
test rax, rax
je 0x1337c0eace7e
cmp qword [rax], 0
jne 0x1337c0eace96
mov edx, 0xffffffec
mov rcx, r14
add rsp, 0x60
pop r15
pop r14
pop rdi
pop rsi
pop rbx
jmp 0x1337c0ea86b0
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 0x1337c0eacec7
mov rax, qword [rdx]
mov qword [rbx + 0x18], rax
mov rax, qword [r8]
jmp 0x1337c0eaced0
mov edi, 2
lea rax, [r14 + 0x40]
mov qword [rbx + 0x10], rax
lea r11, [0x1337c0de0000]
mov r13d, 0x40
jmp 0x1337c0eacef0
mov r12, qword [rsp + 0x38]
mov r15, qword [rsp + 0x98]
lea rbp, [r14 + 0x2a8]
cmp edi, 1
je 0x1337c0eacf94
cmp edi, 2
jne 0x1337c0eae08e
cmp qword [r14 + 0x78], 0
je 0x1337c0eacf3d
mov r8, r12
mov dword [rsp + 0x20], 1
mov rdx, r10
mov rcx, r14
call fcn.1337c0eab430
test eax, eax
js 0x1337c0eae030
mov r10, qword [rsp + 0xa8]
lea r11, [0x1337c0de0000]
mov ecx, dword [r14 + 0x48]
test ecx, ecx
je 0x1337c0eae056
cmp qword [rbx + 0x18], 0
jne 0x1337c0eacf68
mov dword [r14 + 0x48], 0
mov rax, qword [r15]
mov qword [rbx + 0x18], rax
mov rax, qword [rsi]
mov qword [rbx + 0x10], rax
jmp 0x1337c0eacf8f
cmp qword [r15], 0
je 0x1337c0eae032
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.0x1337c0eacfab
mov ecx, dword [r11 + rax*4 + 0xce104]
add rcx, r11
jmp rcx
mov r8d, dword [rbx + 8]
cmp r13d, r8d
jne 0x1337c0eacff2
mov rdx, qword [rbx + 0x18]
test rdx, rdx
jne 0x1337c0eacfc9
mov edi, 2
jmp case.default.0x1337c0eacfab
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 0x1337c0ead02b
mov dword [r14 + 0x29c], reloc.WS2_32.dll_recv
jmp 0x1337c0ead0a3
mov ecx, r8d
mov rax, rdx
shr rax, cl
lea ecx, [r8 + 3]
mov dword [rbx + 8], ecx
and eax, 7
je 0x1337c0ead04c
add eax, 0x11
mov dword [r14 + 0x29c], eax
jmp 0x1337c0ead0a3
mov rax, rdx
shr rax, cl
add ecx, 3
and eax, 7
mov dword [rbx + 8], ecx
cmp eax, 1
jne 0x1337c0ead088
test r9b, 0x20
je 0x1337c0ead074
shr rdx, cl
lea eax, [rcx + 1]
mov dword [rbx + 8], eax
test dl, 1
je 0x1337c0ead07e
mov edi, 0xfffffff3
jmp case.default.0x1337c0eacfab
or dword [r14 + 0x298], 0x20
jmp 0x1337c0ead0a3
test eax, eax
je 0x1337c0ead098
add eax, 8
mov dword [r14 + 0x29c], eax
jmp 0x1337c0ead0a3
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.0x1337c0eacfab
mov r8d, dword [rbx + 8]
mov eax, r13d
sub eax, r8d
cmp eax, 6
jae 0x1337c0ead112
mov rdx, qword [rbx + 0x18]
test rdx, rdx
je 0x1337c0eacfbf
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 0x1337c0ead0d0
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 0x1337c0ead074
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 0x1337c0ead188
mov r10, qword [rsp + 0xa8]
lea edi, [rax - 0x1e]
lea r11, [0x1337c0de0000]
jmp case.default.0x1337c0eacfab
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.1337c0ea8910
mov r10, qword [rsp + 0xa8]
mov edi, eax
lea r11, [0x1337c0de0000]
cmp eax, 1
jne case.default.0x1337c0eacfab
test byte [r14 + 0x298], 6
lea r11, [0x1337c0de0000]
je 0x1337c0ead2cd
mov ecx, dword [rbx + 8]
mov r8d, ecx
neg r8d
and r8d, 7
je 0x1337c0ead2cd
mov rdx, qword [rbx]
lea eax, [rcx + r8]
shr rdx, cl
mov dword [rbx + 8], eax
test dword [r11 + r8*4 + 0x3f4da0], edx
je 0x1337c0ead2cd
mov edi, 0xfffffff2
jmp case.default.0x1337c0eacfab
test byte [r14 + 0x298], 4
je 0x1337c0ead2eb
mov r10, qword [rsp + 0xa8]
mov dword [r14], reloc.SHLWAPI.dll_SHCreateMemStream
jmp case.default.0x1337c0eacfab
cmp dword [r14 + 0x108], 0
jne 0x1337c0ead309
mov r10, qword [rsp + 0xa8]
mov dword [r14], recv
jmp case.default.0x1337c0eacfab
mov rcx, r14
call fcn.1337c0eab7c0
test byte [r14 + 0x298], 2
je case.0x1337c0eacfab.17
mov r10, qword [rsp + 0xa8]
mov dword [r14], recv
jmp case.default.0x1337c0eacfab
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 0x1337c0ead377
mov r10, qword [rsp + 0xa8]
mov dword [r14], 5
jmp case.default.0x1337c0eacfab
add rax, 0x47
mov rdx, rbx
mov rcx, r14
lea r8, [r14 + rax*4]
call fcn.1337c0ea86e0
mov r10, qword [rsp + 0xa8]
mov edi, eax
lea r11, [0x1337c0de0000]
cmp eax, 1
jne case.default.0x1337c0eacfab
movsxd rax, dword [r14 + 4]
inc dword [r14 + rax*4 + 0x11c]
movsxd rcx, dword [r14 + 4]
cmp dword [r14 + rcx*4 + 0x11c], 2
jae 0x1337c0ead3d2
lea eax, [rcx + 1]
mov dword [r14 + 4], eax
lea r11, [0x1337c0de0000]
jmp case.default.0x1337c0eacfab
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.1337c0ea96b0
mov r10, qword [rsp + 0xa8]
mov edi, eax
lea r11, [0x1337c0de0000]
cmp eax, 1
jne case.default.0x1337c0eacfab
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.1337c0ea96b0
mov r10, qword [rsp + 0xa8]
mov edi, eax
lea r11, [0x1337c0de0000]
cmp eax, 1
jne case.default.0x1337c0eacfab
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 0x1337c0ead581
mov r8d, dword [rbx + 8]
mov eax, r13d
sub eax, r8d
cmp eax, 0xf
jae 0x1337c0ead502
nop word [rax + rax]
mov rdx, qword [rbx + 0x18]
test rdx, rdx
je 0x1337c0ead55c
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 0x1337c0ead4c0
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 0x1337c0ead54c
sub eax, 8
shr r10d, 8
add r8d, 8
mov dword [rbx + 8], r8d
mov edx, dword [r11 + rax*4 + 0x3f4da0]
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 0x1337c0ead588
lea r8, [rsp + 0x90]
mov rdx, rbx
mov rcx, r9
call fcn.1337c0ea8f70
test eax, eax
je 0x1337c0ead671
mov r10d, dword [rsp + 0x90]
jmp 0x1337c0ead590
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 + 0x3f4e32]
movzx r11d, word [rcx + rax*4 + 0x3f4e30]
mov eax, r13d
sub eax, r8d
cmp eax, r9d
jae 0x1337c0ead602
nop dword [rax + rax]
mov rdx, qword [rbx + 0x18]
test rdx, rdx
je 0x1337c0ead65f
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 0x1337c0ead5c0
mov rax, qword [rbx]
mov ecx, r8d
mov r10, qword [rsp + 0xa8]
shr rax, cl
lea rcx, [0x1337c0de0000]
mov ecx, dword [rcx + r9*4 + 0x3f4da0]
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.0x1337c0eacfab
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.0x1337c0eacfab
mov r9, r14
mov rdx, r12
mov rcx, r10
call fcn.1337c0eab640
mov r10, qword [rsp + 0xa8]
mov edi, eax
lea r11, [0x1337c0de0000]
cmp eax, 1
jne case.default.0x1337c0eacfab
mov dword [r14], recv
lea r11, [0x1337c0de0000]
jmp case.default.0x1337c0eacfab
cmp dword [r14 + 0x108], 0
jle 0x1337c0ead746
nop word [rax + rax]
mov edx, dword [rbx + 8]
mov eax, r13d
sub eax, edx
cmp eax, 8
jae 0x1337c0ead72f
nop dword [rax]
mov r8, qword [rbx + 0x18]
test r8, r8
je 0x1337c0eacfbf
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 0x1337c0ead6f0
lea eax, [rdx + 8]
mov dword [rbx + 8], eax
dec dword [r14 + 0x108]
cmp dword [r14 + 0x108], 0
jg 0x1337c0ead6e0
mov dword [r14], recv
jmp case.default.0x1337c0eacfab
mov r8d, dword [rbx + 8]
mov eax, r13d
sub eax, r8d
cmp eax, 6
jae 0x1337c0ead7a3
mov rdx, qword [rbx + 0x18]
test rdx, rdx
je 0x1337c0eacfbf
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 0x1337c0ead761
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 0x1337c0ead800
mov r10, qword [rsp + 0xa8]
lea edi, [rax - 0x15]
jmp case.default.0x1337c0eacfab
mov qword [r14], 6
movsxd r9, dword [r14 + 4]
cmp r9d, dword [r14 + 0x11c]
jge 0x1337c0ead89f
mov r10, r9
nop dword [rax + rax]
mov r8d, dword [rbx + 8]
mov eax, r13d
sub eax, r8d
cmp eax, 2
jae 0x1337c0ead872
nop
mov rdx, qword [rbx + 0x18]
test rdx, rdx
je 0x1337c0ead9e3
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 0x1337c0ead830
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 0x1337c0ead820
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.1337c0ea9d40
mov r10, qword [rsp + 0xa8]
mov edi, eax
lea r11, [0x1337c0de0000]
cmp eax, 1
jne case.default.0x1337c0eacfab
xorps xmm0, xmm0
xor esi, esi
movups xmmword [r14 + 0x2c8], xmm0
movups xmmword [r14 + 0x2d8], xmm0
cmp dword [r14 + 0x11c], esi
jbe 0x1337c0ead993
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 0x1337c0ead920
test rdi, rdi
jne 0x1337c0ead97c
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 0x1337c0ead900
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 0x1337c0eada64
cmp r8d, 0x7ffffffc
jb 0x1337c0ead9f9
mov ebp, 0x8000000c
jmp 0x1337c0eada50
mov r10, qword [rsp + 0xa8]
mov edi, 2
mov dword [r14 + 4], r9d
jmp case.default.0x1337c0eacfab
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 0x1337c0eada26
nop dword [rax]
inc eax
shr ecx, 1
jne 0x1337c0eada20
lea ecx, [rax - 1]
shr edx, cl
lea eax, [rax*2 - 4]
and edx, 1
or edx, eax
jne 0x1337c0eada3f
lea ebp, [r8 + 0x10]
jmp 0x1337c0eada50
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.1337c0ea9d40
mov r10, qword [rsp + 0xa8]
mov edi, eax
lea r11, [0x1337c0de0000]
cmp eax, 1
jne 0x1337c0eacee3
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.1337c0eae380
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.1337c0eae380
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.1337c0eae380
and eax, esi
test al, 1
je 0x1337c0eae0ed
mov qword [r14], 0x18
mov ecx, dword [r14 + 4]
test ecx, ecx
je 0x1337c0eadb41
sub ecx, 1
je 0x1337c0eadb39
cmp ecx, 1
jne 0x1337c0eae0f7
mov r12d, 0xd8
jmp 0x1337c0eadb47
mov r12d, 0xc0
jmp 0x1337c0eadb47
mov r12d, 0xa8
cmp dword [r14 + 0x2e8], 1
lea r15, [r14 + 0x9ec]
je 0x1337c0eadb76
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 0x1337c0eadbe3
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.1337c0ea96b0
mov edi, eax
cmp eax, 1
jne 0x1337c0eadcfe
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 0x1337c0eadb81
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.0x1337c0eacfab
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, [0x1337c11d4ea0]
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.1337c0eab590
test eax, eax
jne 0x1337c0eadd2e
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.0x1337c0eacfab
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.0x1337c0eacfab
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 0x1337c0eadd7c
mov eax, r8d
inc ecx
inc r8d
mov byte [rax + r14 + 0x2e8], dil
mov dword [r14 + rax*4 + 0x508], ecx
cmp ecx, esi
jb 0x1337c0eadd60
cmp r8d, ebp
jae 0x1337c0eadddd
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 0x1337c0eaddd2
mov ecx, r8d
lea eax, [r10 + rdx]
inc r8d
inc edx
mov byte [rcx + r14 + 0x2e8], r9b
mov dword [r14 + rcx*4 + 0x508], eax
cmp edx, r11d
jb 0x1337c0eaddb1
add r9d, edi
xor edi, 1
cmp r8d, ebp
jb 0x1337c0eadd90
mov rsi, qword [rsp + 0xa0]
mov dword [r14], 7
mov rcx, r14
call fcn.1337c0eab840
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.0x1337c0eacfab
mov rcx, r14
call fcn.1337c0eac240
mov r10, qword [rsp + 0xa8]
lea r11, [0x1337c0de0000]
mov edi, eax
jmp 0x1337c0eacee8
mov r8, r12
mov dword [rsp + 0x20], 0
mov rdx, r10
mov rcx, r14
call fcn.1337c0eab430
mov r10, qword [rsp + 0xa8]
mov edi, eax
lea r11, [0x1337c0de0000]
cmp eax, 1
jne case.default.0x1337c0eacfab
mov rcx, r14
call fcn.1337c0eab550
mov ecx, dword [r14 + 0x29c]
mov eax, 1
shl eax, cl
cmp dword [r14 + 0x58], eax
jne 0x1337c0eade94
mov eax, dword [r14 + 0x50]
mov dword [r14 + 0x54], eax
mov eax, dword [r14]
cmp eax, 0xf
jne 0x1337c0eadec8
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.0x1337c0eacfab
cmp eax, 0x10
jne 0x1337c0eadee9
mov eax, 0xa
lea r11, [0x1337c0de0000]
mov dword [r14], eax
mov r10, qword [rsp + 0xa8]
jmp case.default.0x1337c0eacfab
cmp dword [r14 + 4], 0
jne 0x1337c0eadef7
mov ecx, 9
jmp 0x1337c0eadea1
mov eax, 8
lea r11, [0x1337c0de0000]
mov dword [r14], eax
mov r10, qword [rsp + 0xa8]
jmp case.default.0x1337c0eacfab
cmp dword [r14 + 0x108], 0
jge 0x1337c0eadf27
mov edi, 0xfffffff6
jmp case.default.0x1337c0eacfab
mov rcx, r14
call fcn.1337c0eae2e0
test byte [r14 + 0x298], 1
jne 0x1337c0eadf54
mov r10, qword [rsp + 0xa8]
lea r11, [0x1337c0de0000]
mov dword [r14], 3
jmp case.default.0x1337c0eacfab
mov r9d, dword [rbx + 8]
lea r11, [0x1337c0de0000]
mov r8d, r9d
mov ecx, 0
neg r8d
and r8d, 7
je 0x1337c0eadf8a
mov rax, qword [rbx]
mov ecx, r9d
shr rax, cl
mov ecx, dword [r11 + r8*4 + 0x3f4da0]
and ecx, eax
add r9d, r8d
mov dword [rbx + 8], r9d
test ecx, ecx
je 0x1337c0eadfa0
mov r10, qword [rsp + 0xa8]
mov edi, 0xfffffff1
jmp case.default.0x1337c0eacfab
cmp dword [r14 + 0x48], 0
jne 0x1337c0eadfec
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 0x1337c0eadfd6
mov qword [rbx], 0
jmp 0x1337c0eadfdb
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 0x1337c0eae032
mov rdx, qword [rsp + 0xa8]
mov r8, r12
mov rcx, r14
mov dword [rsp + 0x20], 1
call fcn.1337c0eab430
mov edi, eax
cmp eax, 1
je 0x1337c0eae032
mov r10, qword [rsp + 0xa8]
lea r11, [0x1337c0de0000]
jmp case.default.0x1337c0eacfab
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 0x1337c0ea86b0
mov rax, qword [rbx + 0x10]
mov qword [rsi], rax
mov rax, qword [rbx + 0x18]
mov qword [r15], rax
test rax, rax
je 0x1337c0eae032
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 0x1337c0eae070
jmp 0x1337c0eae032
cmp dword [r14 + 0x48], 0
je 0x1337c0eae09f
mov dword [r14 + 0x48], 0
jmp 0x1337c0eae032
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 0x1337c0eae0d2
mov qword [rbx], 0
jmp 0x1337c0eae0d7
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 0x1337c0eae032
mov edx, 0xffffffea
jmp 0x1337c0eae034
mov edx, 0xffffffe1
jmp 0x1337c0eae034