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

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x48
mov r14, qword [rsp + 0xb8]
mov ebp, 1
mov r13, qword [rdx]
mov r11, r9
mov qword [rsp + 0x30], r13
mov rsi, r8
mov r12, rdx
mov r15, rcx
mov ebx, ebp
test r14, r14
je 0x14020c751
mov rax, qword [rcx + 0x1b0]
mov qword [r14], rax
cmp dword [rcx + 0x80], 0
jge 0x14020c761
xor eax, eax
jmp 0x14020daad
mov rcx, qword [r9]
mov rax, qword [rsp + 0xb0]
test rcx, rcx
je 0x14020c78c
test rax, rax
je 0x14020c77c
cmp qword [rax], 0
jne 0x14020c78c
sub r13, qword [rdx]
mov edx, 0xffffffec
mov r8, r13
jmp 0x14020daa5
xor r10d, r10d
test rcx, rcx
cmovne r10, rax
mov rax, qword [r15 + 0x50]
mov qword [rsp + 0x90], r10
test rax, rax
jne 0x14020c7e7
mov rdx, qword [rdx]
lea r13, [r15 + 0x310]
mov r8, qword [r8]
test rdx, rdx
mov rax, r8
mov qword [r15 + 0x18], r8
lea rcx, [r8 + rdx]
cmovne rax, rcx
add rcx, 0xffffffffffffffe5
mov qword [r15 + 0x28], rax
lea rax, [rdx + 1]
cmp rax, 0x1c
lea rdx, [0x140000000]
cmovbe rcx, r8
mov qword [r15 + 0x20], rcx
jmp case.default.0x14020c93f
lea rcx, [r15 + 0x48]
mov ebx, 2
lea rdx, [rcx + rax]
mov qword [r15 + 0x18], rcx
inc rax
mov qword [r15 + 0x28], rdx
cmp rax, 0x1c
jbe 0x14020c809
lea rcx, [rdx - 0x1b]
mov qword [r15 + 0x20], rcx
lea r13, [r15 + 0x310]
lea rdx, [0x140000000]
jmp case.default.0x14020c93f
mov rsi, qword [rsp + 0xa0]
mov r14, qword [rsp + 0xb8]
mov ebp, 1
cmp ebx, 1
je 0x14020c929
cmp ebx, 2
jne 0x14020daff
cmp qword [r15 + 0x88], 0
je 0x14020c87e
mov r9, r14
mov dword [rsp + 0x20], ebp
mov r8, r10
mov rdx, r11
mov rcx, r15
call fcn.1402128f0
test eax, eax
js 0x14020da98
mov r10, qword [rsp + 0x90]
mov r11, qword [rsp + 0xa8]
mov rdx, qword [r15 + 0x50]
test rdx, rdx
je 0x14020dabe
mov rax, qword [r15 + 0x28]
cmp qword [r15 + 0x18], rax
jne 0x14020c8d2
mov qword [r15 + 0x50], 0
mov ebx, ebp
mov rdx, qword [r12]
mov r8, qword [rsi]
test rdx, rdx
mov rax, r8
mov qword [r15 + 0x18], r8
lea rcx, [r8 + rdx]
cmovne rax, rcx
add rcx, 0xffffffffffffffe5
mov qword [r15 + 0x28], rax
lea rax, [rdx + 1]
cmp rax, 0x1c
cmovbe rcx, r8
mov qword [r15 + 0x20], rcx
jmp 0x14020c922
cmp qword [r12], 0
je 0x14020da9a
mov rax, qword [rsi]
mov ebx, ebp
movzx ecx, byte [rax]
mov byte [rdx + r15 + 0x48], cl
lea rdx, [r15 + 0x48]
add qword [r15 + 0x50], 1
mov rcx, rdx
mov rax, qword [r15 + 0x50]
mov qword [r15 + 0x18], rdx
je 0x14020c904
lea rcx, [rdx + rax]
mov qword [r15 + 0x28], rcx
inc rax
add rcx, 0xffffffffffffffe5
cmp rax, 0x1c
cmovbe rcx, rdx
mov qword [r15 + 0x20], rcx
inc qword [rsi]
dec qword [r12]
lea rdx, [0x140000000]
movsxd rax, dword [r15]
cmp eax, 0x1a
ja case.default.0x14020c93f
mov ecx, dword [rdx + rax*4 + 0x20db7c]
add rcx, rdx
jmp rcx
lea rcx, [r15 + 8]
call fcn.140212a30
test eax, eax
jne 0x14020c96d
mov r10, qword [rsp + 0x90]
lea ebx, [rax + 2]
mov r11, qword [rsp + 0xa8]
lea rdx, [0x140000000]
jmp case.default.0x14020c93f
mov r9d, dword [r15 + 0x304]
mov eax, r9d
and eax, 0xffffffdf
mov dword [r15 + 0x304], eax
mov rdx, qword [r15 + 8]
mov r8, qword [r15 + 0x10]
mov rcx, rdx
and rcx, qword [reloc.WS2_32.dll_accept]
dec r8
shr rdx, 1
mov qword [r15 + 0x10], r8
mov qword [r15 + 8], rdx
test rcx, rcx
jne 0x14020c9bb
mov eax, dword [r15 + 0x304]
and eax, 0xfffff43f
bts eax, 0xa
jmp 0x14020ca9f
mov rax, rdx
lea rcx, [r8 - 3]
and rax, qword [reloc.WS2_32.dll_getsockopt]
shr rdx, 3
mov qword [r15 + 0x10], rcx
mov qword [r15 + 8], rdx
test rax, rax
je 0x14020c9ff
add eax, 0x11
shl eax, 6
xor eax, dword [r15 + 0x304]
and eax, 0xfc0
xor dword [r15 + 0x304], eax
mov eax, dword [r15 + 0x304]
jmp 0x14020caa6
mov rax, rdx
lea r8, [rcx - 3]
and rax, qword [reloc.WS2_32.dll_getsockopt]
shr rdx, 3
mov qword [r15 + 0x10], r8
mov qword [r15 + 8], rdx
cmp rax, 1
jne 0x14020ca76
test r9b, 0x20
je 0x14020ca44
mov rcx, rdx
lea rax, [r8 - 1]
and rcx, qword [reloc.WS2_32.dll_accept]
shr rdx, 1
mov qword [r15 + 0x10], rax
mov qword [r15 + 8], rdx
cmp rcx, 1
jne 0x14020ca65
mov r10, qword [rsp + 0x90]
lea rdx, [0x140000000]
mov r11, qword [rsp + 0xa8]
mov ebx, 0xfffffff3
jmp case.default.0x14020c93f
or dword [r15 + 0x304], 0x20
mov eax, dword [r15 + 0x304]
jmp 0x14020caa6
mov ecx, dword [r15 + 0x304]
test rax, rax
je 0x14020ca93
add eax, 8
shl eax, 6
xor eax, ecx
and eax, 0xfc0
xor eax, ecx
jmp 0x14020ca9f
mov eax, ecx
and eax, 0xfffff47f
or eax, 0x440
mov dword [r15 + 0x304], eax
test al, 0x20
je 0x14020cacb
mov dword [r15], ebp
mov r10, qword [rsp + 0x90]
lea rdx, [0x140000000]
mov r11, qword [rsp + 0xa8]
mov ebx, ebp
jmp case.default.0x14020c93f
mov dword [r15], 2
jmp 0x14020caad
mov r8, qword [r15 + 0x10]
cmp r8, 6
jae 0x14020cb11
mov r9, qword [r15 + 0x28]
mov rdx, qword [r15 + 0x18]
cmp rdx, r9
je 0x14020cbb5
movzx eax, byte [rdx]
mov rcx, r8
shl rax, cl
add r8, 8
or qword [r15 + 8], rax
inc rdx
mov qword [r15 + 0x10], r8
mov qword [r15 + 0x18], rdx
cmp r8, 6
jb 0x14020cae6
mov rcx, qword [r15 + 8]
lea rax, [r8 - 6]
mov rdx, rcx
shr rcx, 6
and rdx, qword [0x140288bc0]
mov qword [r15 + 0x10], rax
shl edx, 6
mov qword [r15 + 8], rcx
xor edx, dword [r15 + 0x304]
and edx, 0xfc0
xor dword [r15 + 0x304], edx
mov eax, dword [r15 + 0x304]
and eax, 0xfc0
sub eax, 0x280
cmp eax, 0x500
ja 0x14020cbc6
mov dword [r15], 2
mov ecx, dword [r15 + 0x304]
mov edx, ebp
shr ecx, 6
and ecx, 0x3f
shl edx, cl
mov rcx, qword [r15 + 0x40]
sub edx, 0x10
mov dword [r15 + 0x5c], edx
mov edx, 0x3030
call qword [r15 + 0x30]
mov qword [r15 + 0x100], rax
test rax, rax
jne 0x14020cbd7
mov r10, qword [rsp + 0x90]
lea ebx, [rax - 0x1e]
mov r11, qword [rsp + 0xa8]
lea rdx, [0x140000000]
jmp case.default.0x14020c93f
mov ebx, 2
lea rdx, [0x140000000]
jmp case.default.0x14020c93f
mov ebx, 0xfffffff3
lea rdx, [0x140000000]
jmp case.default.0x14020c93f
add rax, 0x1da0
mov dword [r15], 3
mov qword [r15 + 0x108], rax
mov rcx, r15
call fcn.1402136a0
mov dword [r15], 4
lea rdx, [r15 + 8]
mov rcx, r15
call fcn.14020ead0
mov r10, qword [rsp + 0x90]
mov ebx, eax
mov r11, qword [rsp + 0xa8]
lea rdx, [0x140000000]
cmp eax, 1
jne case.default.0x14020c93f
test byte [r15 + 0x304], 6
je 0x14020cc9c
mov rdx, qword [r15 + 0x10]
mov r8d, 0
mov rcx, rdx
and ecx, 7
je 0x14020cc68
mov rax, qword [r15 + 8]
lea r9, [0x140000000]
mov r8, qword [r9 + rcx*8 + 0x288b90]
sub rdx, rcx
and r8, rax
mov qword [r15 + 0x10], rdx
shr rax, cl
mov qword [r15 + 8], rax
cmp rdx, 0x40
jae 0x14020cc7e
mov rcx, rdx
mov rax, rbp
shl rax, cl
dec rax
and qword [r15 + 8], rax
test r8, r8
je 0x14020cc9c
mov r11, qword [rsp + 0xa8]
lea rdx, [0x140000000]
mov ebx, 0xfffffff2
jmp case.default.0x14020c93f
test byte [r15 + 0x304], 4
je 0x14020ccf8
mov rax, qword [r15 + 0x2d0]
lea rdx, [0x140000000]
mov r11, qword [rsp + 0xa8]
mov dword [r15], select
test rax, rax
je case.default.0x14020c93f
movsxd rdx, dword [r15 + 0x84]
mov rcx, qword [r15 + 0x2e0]
call rax
mov r10, qword [rsp + 0x90]
lea rdx, [0x140000000]
mov r11, qword [rsp + 0xa8]
jmp case.default.0x14020c93f
cmp dword [r15 + 0x84], 0
jne 0x14020cd1d
mov r11, qword [rsp + 0xa8]
lea rdx, [0x140000000]
mov dword [r15], select
jmp case.default.0x14020c93f
mov rcx, r15
call fcn.14020c5b0
test byte [r15 + 0x304], 2
je 0x14020cd52
mov r10, qword [rsp + 0x90]
lea rdx, [0x140000000]
mov r11, qword [rsp + 0xa8]
mov dword [r15], recv
jmp case.default.0x14020c93f
lea rdx, [0x140000000]
mov qword [r15], reloc.WS2_32.dll_select
lea rax, [r15 + 0x438]
mov qword [r15 + 0x410], rax
mov qword [r15 + 0x360], 0
mov qword [r15 + 0x354], 0
mov dword [r15 + 0x350], 0
movsxd rax, dword [r15 + 4]
cmp eax, 3
jl 0x14020cdb4
mov r10, qword [rsp + 0x90]
mov r11, qword [rsp + 0xa8]
mov dword [r15], 5
jmp case.default.0x14020c93f
add rax, 0x27
lea rdx, [r15 + 8]
mov rcx, r15
lea r8, [r15 + rax*8]
call fcn.14020f090
mov r10, qword [rsp + 0x90]
mov ebx, eax
mov r11, qword [rsp + 0xa8]
lea rdx, [0x140000000]
cmp eax, 1
jne case.default.0x14020c93f
movsxd rax, dword [r15 + 4]
inc qword [r15 + rax*8 + 0x138]
movsxd rcx, dword [r15 + 4]
cmp qword [r15 + rcx*8 + 0x138], 2
jae 0x14020ce18
lea eax, [rcx + 1]
mov dword [r15 + 4], eax
lea rdx, [0x140000000]
jmp case.default.0x14020c93f
mov dword [r15], reloc.WS2_32.dll_send
movsxd rdx, dword [r15 + 4]
xor r9d, r9d
imul eax, edx, 0x278
mov qword [rsp + 0x20], r15
mov rcx, qword [r15 + rdx*8 + 0x138]
add rcx, 2
movsxd rdx, eax
mov rax, qword [r15 + 0x100]
lea r8, [rax + rdx*4]
mov rdx, rcx
call fcn.1402104b0
mov r10, qword [rsp + 0x90]
mov ebx, eax
mov r11, qword [rsp + 0xa8]
lea rdx, [0x140000000]
cmp eax, 1
jne case.default.0x14020c93f
mov dword [r15], reloc.WS2_32.dll_sendto
imul eax, dword [r15 + 4], 0x18c
mov edx, 0x1a
xor r9d, r9d
mov qword [rsp + 0x20], r15
movsxd rcx, eax
mov rax, qword [r15 + 0x108]
lea r8, [rax + rcx*4]
mov ecx, edx
call fcn.1402104b0
mov r10, qword [rsp + 0x90]
mov ebx, eax
mov r11, qword [rsp + 0xa8]
lea rdx, [0x140000000]
cmp eax, 1
jne case.default.0x14020c93f
mov dword [r15], reloc.WS2_32.dll_setsockopt
movsxd rdx, dword [r15 + 4]
imul eax, edx, 0x18c
cmp dword [r15 + 0x2fc], 0
lea rsi, [r15 + rdx*8]
movsxd rcx, eax
mov rax, qword [r15 + 0x108]
lea r11, [rax + rcx*4]
jne 0x14020cfcb
mov r8, qword [r15 + 0x10]
cmp r8, 0xf
jae 0x14020cf3b
mov r9, qword [r15 + 0x28]
mov rdx, qword [r15 + 0x18]
nop dword [rax + rax]
cmp rdx, r9
je 0x14020cfab
movzx eax, byte [rdx]
mov rcx, r8
shl rax, cl
add r8, 8
or qword [r15 + 8], rax
inc rdx
mov qword [r15 + 0x10], r8
mov qword [r15 + 0x18], rdx
cmp r8, 0xf
jb 0x14020cf10
mov r9, qword [r15 + 8]
mov r10, r9
and r10, qword [0x140288c08]
movzx eax, r10b
lea r11, [r11 + rax*4]
movzx eax, byte [r11]
cmp al, 8
jbe 0x14020cf93
lea ecx, [rax - 8]
shr r9, 8
mov qword [r15 + 8], r9
lea rax, [0x140000000]
add r8, 0xfffffffffffffff8
shr r10, 8
mov qword [r15 + 0x10], r8
mov rdx, qword [rax + rcx*8 + 0x288b90]
movzx eax, word [r11 + 2]
and rdx, r10
add rdx, rax
movzx eax, byte [r11 + rdx*4]
lea r11, [r11 + rdx*4]
movzx ecx, al
sub r8, rcx
shr r9, cl
mov qword [r15 + 8], r9
mov qword [r15 + 0x10], r8
movzx r10d, word [r11 + 2]
jmp 0x14020cfd2
lea r8, [rsp + 0x38]
mov rcx, r11
lea rdx, [r15 + 8]
call fcn.140211630
test eax, eax
je 0x14020d0a1
mov r10, qword [rsp + 0x38]
jmp 0x14020cfd7
mov r10, qword [r15 + 0x130]
mov qword [rsp + 0x38], r10
mov rcx, qword [r15 + 0x10]
lea rax, [0x140000000]
movzx r9d, byte [rax + r10*4 + 0x2896c2]
movzx r11d, word [rax + r10*4 + 0x2896c0]
cmp rcx, r9
jae 0x14020d02f
mov r8, qword [r15 + 0x28]
mov rdx, qword [r15 + 0x18]
cmp rdx, r8
je 0x14020d093
movzx eax, byte [rdx]
shl rax, cl
add rcx, 8
or qword [r15 + 8], rax
inc rdx
mov qword [r15 + 0x10], rcx
mov qword [r15 + 0x18], rdx
cmp rcx, r9
jb 0x14020d001
lea rax, [0x140000000]
mov rax, qword [rax + r9*8 + 0x288b90]
sub rcx, r9
mov rdx, qword [r15 + 8]
mov r10, qword [rsp + 0x90]
and rax, rdx
mov qword [r15 + 0x10], rcx
add rax, r11
mov r11, qword [rsp + 0xa8]
mov rcx, r9
shr rdx, cl
mov qword [r15 + 8], rdx
lea rdx, [0x140000000]
mov qword [rsi + 0x118], rax
inc dword [r15 + 4]
mov rsi, qword [rsp + 0xa0]
mov dword [r15 + 0x2fc], 0
mov dword [r15], reloc.WS2_32.dll_select
jmp case.default.0x14020c93f
mov qword [r15 + 0x130], r10
mov dword [r15 + 0x2fc], ebp
mov rsi, qword [rsp + 0xa0]
lea rdx, [0x140000000]
mov r10, qword [rsp + 0x90]
mov ebx, 2
mov r11, qword [rsp + 0xa8]
jmp case.default.0x14020c93f
mov r9, r15
mov r8, r14
mov rdx, r10
mov rcx, r11
call fcn.14020ddb0
mov r10, qword [rsp + 0x90]
mov ebx, eax
mov r11, qword [rsp + 0xa8]
lea rdx, [0x140000000]
cmp eax, 1
jne case.default.0x14020c93f
mov dword [r15], select
lea rdx, [0x140000000]
jmp case.default.0x14020c93f
mov rcx, r15
call fcn.140212740
mov r10, qword [rsp + 0x90]
mov ebx, eax
mov r11, qword [rsp + 0xa8]
lea rdx, [0x140000000]
cmp eax, 1
jne case.default.0x14020c93f
mov dword [r15], select
lea rdx, [0x140000000]
jmp case.default.0x14020c93f
mov r8, qword [r15 + 0x10]
cmp r8, 6
jae 0x14020d18b
mov r9, qword [r15 + 0x28]
mov rdx, qword [r15 + 0x18]
nop
cmp rdx, r9
je 0x14020cbb5
movzx eax, byte [rdx]
mov rcx, r8
shl rax, cl
add r8, 8
or qword [r15 + 8], rax
inc rdx
mov qword [r15 + 0x10], r8
mov qword [r15 + 0x18], rdx
cmp r8, 6
jb 0x14020d160
mov rcx, qword [r15 + 8]
lea rax, [r8 - 6]
mov rdx, rcx
shr rcx, 6
and rdx, qword [0x140288bc0]
mov qword [r15 + 8], rcx
mov rcx, rdx
mov qword [r15 + 0x10], rax
and rcx, qword [reloc.WS2_32.dll_closesocket]
shr rdx, 2
shl rdx, cl
mov qword [r15 + 0x180], rcx
mov rcx, qword [r15 + 0x40]
mov qword [r15 + 0x188], rdx
mov rdx, qword [r15 + 0x138]
call qword [r15 + 0x30]
mov qword [r15 + 0x318], rax
test rax, rax
jne 0x14020d202
mov r10, qword [rsp + 0x90]
lea ebx, [rax - 0x15]
mov r11, qword [rsp + 0xa8]
lea rdx, [0x140000000]
jmp case.default.0x14020c93f
mov qword [r15], 6
movsxd r10, dword [r15 + 4]
cmp r10d, dword [r15 + 0x138]
jge 0x14020d295
mov r11, r10
nop dword [rax]
mov r8, qword [r15 + 0x10]
cmp r8, 2
jae 0x14020d25d
mov r9, qword [r15 + 0x28]
mov rdx, qword [r15 + 0x18]
cmp rdx, r9
je 0x14020d3d8
movzx eax, byte [rdx]
mov rcx, r8
shl rax, cl
add r8, 8
or qword [r15 + 8], rax
inc rdx
mov qword [r15 + 0x10], r8
mov qword [r15 + 0x18], rdx
cmp r8, 2
jb 0x14020d232
mov rcx, qword [r15 + 8]
lea rax, [r8 - 2]
mov rdx, rcx
inc r10d
and rdx, qword [reloc.WS2_32.dll_closesocket]
mov qword [r15 + 0x10], rax
shr rcx, 2
mov qword [r15 + 8], rcx
mov rax, qword [r15 + 0x318]
mov byte [r11 + rax], dl
inc r11
cmp r10d, dword [r15 + 0x138]
jl 0x14020d220
mov dword [r15], socket
mov rcx, qword [r15 + 0x138]
lea rdx, [r15 + 0x308]
shl rcx, 6
mov r9, r15
mov r8, r13
call fcn.14020e1a0
mov r10, qword [rsp + 0x90]
mov ebx, eax
mov r11, qword [rsp + 0xa8]
lea rdx, [0x140000000]
cmp eax, 1
jne case.default.0x14020c93f
xorps xmm0, xmm0
xor esi, esi
movups xmmword [r15 + 0x330], xmm0
movups xmmword [r15 + 0x340], xmm0
cmp qword [r15 + 0x138], rsi
jbe 0x14020d390
nop dword [rax]
mov r14, qword [r13]
mov r11, rsi
shl r11, 6
xor ebx, ebx
xor r10d, r10d
movzx r9d, byte [r11 + r14]
nop word [rax + rax]
lea rdx, [r14 + r10]
add r10, 4
add rdx, r11
movzx r8d, byte [rdx + 3]
movzx ecx, byte [rdx + 2]
xor r8, r9
movzx eax, byte [rdx]
xor rcx, r9
or r8, rcx
movzx ecx, byte [rdx + 1]
xor rcx, r9
or r8, rcx
mov rcx, r9
xor rcx, rax
or r8, rcx
or rbx, r8
cmp r10, 0x40
jb 0x14020d320
test rbx, rbx
jne 0x14020d380
mov rax, rsi
mov ecx, esi
shr rax, 5
and ecx, 0x1f
lea rdx, [r15 + rax*4]
mov eax, dword [rdx + 0x330]
bts eax, ecx
mov dword [rdx + 0x330], eax
inc rsi
cmp rsi, qword [r15 + 0x138]
jb 0x14020d300
mov dword [r15], reloc.WS2_32.dll_socket
mov r10, qword [r15 + 0x180]
mov eax, 0x18
mov r8, qword [r15 + 0x188]
lea rcx, [r10 + 1]
shl eax, cl
lea rsi, [r8 + 0x10]
add rsi, rax
test byte [r15 + 0x304], 0x20
mov rbp, rsi
je 0x14020d465
cmp r8d, 0x7ffffffc
jb 0x14020d3fd
mov edx, 0x8000000c
jmp 0x14020d451
mov r11, qword [rsp + 0xa8]
lea rdx, [0x140000000]
mov dword [r15 + 4], r10d
mov ebx, 2
mov r10, qword [rsp + 0x90]
jmp case.default.0x14020c93f
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 0x14020d427
inc eax
shr ecx, 1
jne 0x14020d421
lea ecx, [rax - 1]
shr edx, cl
lea eax, [rax*2 - 4]
and edx, 1
or edx, eax
jne 0x14020d440
lea edx, [r8 + 0x10]
jmp 0x14020d451
lea eax, [rdx - 1]
mov ecx, r10d
shl eax, cl
lea edx, [r8 + 0x11]
or eax, r9d
add edx, eax
mov eax, 0x3e
mov ebp, edx
lea rcx, [r10 + 1]
shl eax, cl
lea rsi, [r8 + 0x10]
add rsi, rax
mov rcx, qword [r15 + 0x148]
lea r8, [r15 + 0x198]
shl rcx, 2
lea rdx, [r15 + 0x190]
mov r9, r15
call fcn.14020e1a0
mov r10, qword [rsp + 0x90]
mov ebx, eax
mov r11, qword [rsp + 0xa8]
lea rdx, [0x140000000]
cmp eax, 1
jne 0x14020c820
mov rax, qword [r15 + 0x308]
lea rdx, [r15 + 0xb8]
mov r9d, 0x100
mov qword [rsp + 0x20], rax
mov r8d, r9d
mov rcx, r15
call fcn.1402132f0
mov rcx, qword [r15 + 0x140]
lea rdx, [r15 + 0xd0]
mov r9d, 0x2c0
mov qword [rsp + 0x20], rcx
mov ebx, eax
mov rcx, r15
mov r8d, r9d
and ebx, 1
call fcn.1402132f0
mov rcx, qword [r15 + 0x190]
lea rdx, [r15 + 0xe8]
mov qword [rsp + 0x20], rcx
mov r9, rbp
mov rcx, r15
mov r8, rsi
and ebx, eax
call fcn.1402132f0
test ebx, eax
je 0x14020db66
mov qword [r15], 0x18
mov ecx, dword [r15 + 4]
test ecx, ecx
je 0x14020d54b
sub ecx, 1
je 0x14020d544
cmp ecx, 1
jne 0x14020db70
mov eax, 0xe8
jmp 0x14020d550
mov eax, 0xd0
jmp 0x14020d550
mov eax, 0xb8
lea rcx, [rax + r15]
mov rdx, r15
call fcn.14020f250
mov rsi, qword [rsp + 0xa0]
mov ebx, eax
mov r14, qword [rsp + 0xb8]
lea rdx, [0x140000000]
mov r10, qword [rsp + 0x90]
mov r11, qword [rsp + 0xa8]
cmp eax, 1
jne 0x14020c830
inc dword [r15 + 4]
lea rdx, [0x140000000]
cmp dword [r15 + 4], 3
jl 0x14020c830
mov dword [r15], 0x19
mov r9, qword [r15 + 0x158]
movzx ecx, r9b
mov r8, r9
and cl, 0x1f
shl r8, 6
add r8, qword [r13]
mov rax, r9
shr rax, 5
mov qword [r15 + 0xa8], r8
mov edx, dword [r15 + rax*4 + 0x330]
mov rax, qword [r15 + 0xb8]
shr rdx, cl
and edx, 1
mov dword [r15 + 0x110], edx
movzx ecx, byte [r8]
mov rcx, qword [rax + rcx*8]
mov rax, qword [r15 + 0x318]
mov qword [r15 + 0x1a0], rcx
movzx ecx, byte [rax + r9]
lea rax, [0x140289730]
and ecx, 3
shl rcx, 9
add rcx, rax
mov rax, qword [r15 + 0x198]
mov qword [r15 + 0xb0], rax
mov rax, qword [r15 + 0xd0]
mov qword [r15 + 0xa0], rcx
mov rcx, qword [rax]
mov qword [r15 + 0x98], rcx
mov rcx, r15
call fcn.14020dbf0
test eax, eax
jne 0x14020d67e
mov rsi, qword [rsp + 0xa0]
lea ebx, [rax - 0x1b]
mov r14, qword [rsp + 0xb8]
lea ebp, [rax + 1]
mov r10, qword [rsp + 0x90]
lea rdx, [0x140000000]
mov r11, qword [rsp + 0xa8]
jmp case.default.0x14020c93f
mov r12, qword [r15 + 0x180]
lea r11, [r15 + 0x350]
mov r13, qword [r15 + 0x188]
mov edx, 1
movzx r14d, word [r15 + 0xfa]
mov rcx, r12
mov ebx, edx
xor ebp, ebp
shl ebx, cl
mov r9d, edx
lea r8d, [rdx + 0xf]
test r13, r13
je 0x14020d6e8
mov rsi, 0xfffffffffffffff1
lea rcx, [r11 + 0x10]
sub rsi, r11
lea rdx, [r11 + 0x2a0]
mov r10, r13
lea r8, [r13 + 0x10]
mov byte [rcx], bpl
lea rax, [rsi + rcx]
mov qword [rdx], rax
lea rdx, [rdx + 8]
lea rcx, [rcx + 1]
sub r10, r9
jne 0x14020d6d1
cmp r8, r14
jae 0x14020d746
nop dword [rax]
mov rcx, r9
lea rax, [rbp + 2]
shl rax, cl
lea r10, [r13 + 1]
sub rax, 4
mov rcx, r12
shl rax, cl
add r10, rax
xor eax, eax
test rbx, rbx
je 0x14020d73a
lea rdx, [r11 + 0x220]
lea rdx, [rdx + r8*8]
nop dword [rax]
mov byte [r8 + r11], r9b
lea rcx, [r10 + rax]
inc r8
mov qword [rdx], rcx
inc rax
lea rdx, [rdx + 8]
cmp rax, rbx
jb 0x14020d720
add r9, rbp
xor rbp, 1
cmp r8, r14
jb 0x14020d6f0
mov r12, qword [rsp + 0x98]
lea r13, [r15 + 0x310]
mov eax, 7
mov dword [r15], eax
mov rcx, r15
call fcn.14020f830
mov rsi, qword [rsp + 0xa0]
mov ebx, eax
mov r14, qword [rsp + 0xb8]
mov ebp, 1
mov r10, qword [rsp + 0x90]
lea rdx, [0x140000000]
mov r11, qword [rsp + 0xa8]
cmp eax, 2
jne case.default.0x14020c93f
mov rcx, r15
call fcn.1402116d0
mov r10, qword [rsp + 0x90]
lea rdx, [0x140000000]
mov r11, qword [rsp + 0xa8]
mov ebx, eax
jmp case.default.0x14020c93f
mov r9, r14
mov dword [rsp + 0x20], 0
mov r8, r10
mov rdx, r11
mov rcx, r15
call fcn.1402128f0
mov r10, qword [rsp + 0x90]
mov ebx, eax
mov r11, qword [rsp + 0xa8]
lea rdx, [0x140000000]
cmp eax, 1
jne case.default.0x14020c93f
mov rcx, r15
call fcn.1402128b0
mov ecx, dword [r15 + 0x304]
mov eax, ebp
shr ecx, 6
and ecx, 0x3f
shl eax, cl
cmp dword [r15 + 0x64], eax
jne 0x14020d824
mov eax, dword [r15 + 0x5c]
mov dword [r15 + 0x60], eax
mov eax, dword [r15]
cmp eax, 0xf
jne 0x14020d8a9
mov rcx, qword [r15 + 0x328]
test rcx, rcx
je 0x14020d875
mov eax, dword [rcx + 0x14]
cmp dword [rcx + 0x10], eax
je 0x14020d875
mov edx, dword [r15 + 0x58]
mov rcx, r15
call fcn.14020dcc0
add dword [r15 + 0x58], eax
lea rdx, [0x140000000]
mov eax, dword [r15 + 0x58]
mov r10, qword [rsp + 0x90]
mov r11, qword [rsp + 0xa8]
cmp eax, dword [r15 + 0x64]
jge case.default.0x14020c93f
cmp dword [r15 + 0x84], 0
lea rdx, [0x140000000]
mov r10, qword [rsp + 0x90]
mov eax, select
mov ecx, 7
cmovne eax, ecx
mov dword [r15], eax
mov r11, qword [rsp + 0xa8]
jmp case.default.0x14020c93f
cmp eax, 0x10
jne 0x14020d8d2
mov r10, qword [rsp + 0x90]
lea rdx, [0x140000000]
mov r11, qword [rsp + 0xa8]
mov eax, 0xa
mov dword [r15], eax
jmp case.default.0x14020c93f
cmp dword [r15 + 4], 0
jne 0x14020d90d
cmp dword [r15 + 0x84], 0
lea rdx, [0x140000000]
mov r10, qword [rsp + 0x90]
mov eax, select
mov r11, qword [rsp + 0xa8]
mov ecx, 9
cmovne eax, ecx
mov dword [r15], eax
jmp case.default.0x14020c93f
mov r10, qword [rsp + 0x90]
lea rdx, [0x140000000]
mov r11, qword [rsp + 0xa8]
mov eax, 8
mov dword [r15], eax
jmp case.default.0x14020c93f
cmp dword [r15 + 0x84], 0
jge 0x14020d945
mov ebx, 0xfffffff6
jmp case.default.0x14020c93f
mov rcx, r15
call fcn.140213460
test byte [r15 + 0x304], 1
jne 0x14020d97a
mov r10, qword [rsp + 0x90]
lea rdx, [0x140000000]
mov r11, qword [rsp + 0xa8]
mov dword [r15], 3
jmp case.default.0x14020c93f
mov r8, qword [r15 + 0x10]
mov edx, 0
mov rcx, r8
and ecx, 7
je 0x14020d9af
mov rax, qword [r15 + 8]
lea r9, [0x140000000]
mov rdx, qword [r9 + rcx*8 + 0x288b90]
sub r8, rcx
and rdx, rax
mov qword [r15 + 0x10], r8
shr rax, cl
mov qword [r15 + 8], rax
cmp r8, 0x40
jae 0x14020d9c5
mov rcx, r8
mov rax, rbp
shl rax, cl
dec rax
and qword [r15 + 8], rax
test rdx, rdx
je 0x14020d9eb
mov r10, qword [rsp + 0x90]
lea rdx, [0x140000000]
mov r11, qword [rsp + 0xa8]
mov ebx, 0xfffffff1
jmp case.default.0x14020c93f
cmp qword [r15 + 0x50], 0
jne 0x14020da45
mov r9, qword [r15 + 0x18]
mov rdx, r8
shr rdx, 3
mov rax, r9
sub rax, rdx
test rdx, rdx
cmovne r9, rax
lea rax, [rdx*8]
sub r8, rax
mov qword [r15 + 0x18], r9
mov qword [r15 + 0x10], r8
cmp r8, 0x40
jae 0x14020da33
mov rcx, r8
mov rax, rbp
shl rax, cl
dec rax
and qword [r15 + 8], rax
mov rax, qword [r15 + 0x28]
sub rax, r9
mov qword [r12], rax
mov rax, qword [r15 + 0x18]
mov qword [rsi], rax
mov dword [r15], 0x1a
cmp qword [r15 + 0x88], 0
je 0x14020da9a
mov r8, qword [rsp + 0x90]
mov r9, r14
mov rdx, qword [rsp + 0xa8]
mov rcx, r15
mov dword [rsp + 0x20], ebp
call fcn.1402128f0
mov ebx, eax
cmp eax, 1
je 0x14020da9a
mov r10, qword [rsp + 0x90]
lea rdx, [0x140000000]
mov r11, qword [rsp + 0xa8]
jmp case.default.0x14020c93f
mov ebx, eax
mov edx, ebx
mov r8, qword [rsp + 0x30]
sub r8, qword [r12]
mov rcx, r15
call fcn.1402126f0
add rsp, 0x48
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov rax, qword [r15 + 0x18]
mov qword [rsi], rax
mov rax, qword [r15 + 0x28]
sub rax, qword [r15 + 0x18]
mov qword [r12], rax
je 0x14020da9a
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rsi]
mov rcx, qword [r15 + 0x50]
movzx eax, byte [rax]
mov byte [rcx + r15 + 0x48], al
inc qword [r15 + 0x50]
inc qword [rsi]
sub qword [r12], 1
jne 0x14020dae0
jmp 0x14020da9a
cmp qword [r15 + 0x50], 0
je 0x14020db10
mov qword [r15 + 0x50], 0
jmp 0x14020da9a
mov rcx, qword [r15 + 0x10]
mov r8, qword [r15 + 0x18]
mov rdx, rcx
shr rdx, 3
mov rax, r8
sub rax, rdx
test rdx, rdx
cmovne r8, rax
lea rax, [rdx*8]
sub rcx, rax
mov qword [r15 + 0x18], r8
mov qword [r15 + 0x10], rcx
cmp rcx, 0x40
jae 0x14020db4f
shl rbp, cl
dec rbp
and qword [r15 + 8], rbp
mov rax, qword [r15 + 0x28]
sub rax, r8
mov qword [r12], rax
mov rax, qword [r15 + 0x18]
mov qword [rsi], rax
jmp 0x14020da9a
mov edx, 0xffffffea
jmp 0x14020da9c
mov edx, 0xffffffe1
jmp 0x14020da9c