Function at 0x1400dc890
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 r14
sub rsp, 0x58
mov rbp, qword [rsp + 0xb8]
mov r10, r9
mov rdi, r8
mov r14, rdx
mov rsi, rcx
mov r12d, 1
test rbp, rbp
je 0x1400dc8d5
mov rax, qword [rcx + 0x178]
mov qword [rbp], rax
cmp dword [rcx + 0x74], 0
jge 0x1400dc8ea
xor eax, eax
add rsp, 0x58
pop r14
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov rcx, qword [r9]
mov rax, qword [rsp + 0xb0]
test rcx, rcx
je 0x1400dc91e
test rax, rax
je 0x1400dc905
cmp qword [rax], 0
jne 0x1400dc91e
mov edx, 0xffffffec
mov rcx, rsi
add rsp, 0x58
pop r14
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
jmp 0x1400e2080
xor edx, edx
mov qword [rsp + 0x50], r13
test rcx, rcx
mov qword [rsp + 0x48], r15
cmovne rdx, rax
cmp dword [rsi + 0x48], 0
mov qword [rsp + 0x38], rdx
jne 0x1400dc948
mov rax, qword [r14]
mov qword [rsi + 0x20], rax
mov rax, qword [r8]
jmp 0x1400dc952
mov r12d, 2
lea rax, [rsi + 0x40]
mov qword [rsi + 0x18], rax
lea r11, sym.MZ_8_j0__JboISHBXB6n57pQ3nFObYfQs
mov r13d, 0x40
jmp 0x1400dc980
mov r14, qword [rsp + 0x98]
mov rbp, qword [rsp + 0xb8]
lea r15, [rsi + 0x2a8]
nop word [rax + rax]
cmp r12d, 1
je 0x1400dca33
cmp r12d, 2
jne 0x1400ddb6b
cmp qword [rsi + 0x78], 0
je 0x1400dc9e0
mov r8, rdx
mov dword [rsp + 0x20], 1
mov rdx, r10
mov r9, rbp
mov rcx, rsi
call fcn.1400e20f0
test eax, eax
js 0x1400ddb19
mov rdx, qword [rsp + 0x38]
lea r11, sym.MZ_8_j0__JboISHBXB6n57pQ3nFObYfQs
mov r10, qword [rsp + 0xa8]
mov ecx, dword [rsi + 0x48]
test ecx, ecx
je 0x1400ddb3d
cmp qword [rsi + 0x20], 0
jne 0x1400dca09
mov dword [rsi + 0x48], 0
mov rax, qword [r14]
mov qword [rsi + 0x20], rax
mov rax, qword [rdi]
mov qword [rsi + 0x18], rax
jmp 0x1400dca2d
cmp qword [r14], 0
je 0x1400ddb1c
mov rax, qword [rdi]
movzx eax, byte [rax]
mov byte [rcx + rsi + 0x40], al
inc dword [rsi + 0x48]
mov eax, dword [rsi + 0x48]
mov qword [rsi + 0x20], rax
inc qword [rdi]
dec qword [r14]
mov r12d, 1
movsxd rax, dword [rsi]
cmp eax, 0x1a
ja case.default.0x1400dca4a
mov ecx, dword [r11 + rax*4 + 0xddbe0]
add rcx, r11
jmp rcx
lea rcx, [rsi + 8]
call fcn.1400e2220
test eax, eax
jne 0x1400dca76
mov rdx, qword [rsp + 0x38]
lea r12d, [rax + 2]
mov r10, qword [rsp + 0xa8]
lea r11, sym.MZ_8_j0__JboISHBXB6n57pQ3nFObYfQs
jmp case.default.0x1400dca4a
mov r8d, dword [rsi + 0x298]
mov eax, r8d
and eax, 0xffffffdf
mov dword [rsi + 0x298], eax
mov ecx, dword [rsi + 0x10]
mov rdx, qword [rsi + 8]
mov rax, rdx
shr rax, cl
and eax, dword [0x140111324]
lea ecx, [rcx + 1]
mov dword [rsi + 0x10], ecx
jne 0x1400dcab3
mov dword [rsi + 0x29c], 0x10
jmp 0x1400dcb44
mov rax, rdx
shr rax, cl
lea ecx, [rcx + 3]
and eax, dword [0x14011132c]
mov dword [rsi + 0x10], ecx
je 0x1400dcad2
add eax, 0x11
mov dword [rsi + 0x29c], eax
jmp 0x1400dcb44
mov rax, rdx
shr rax, cl
add ecx, 3
and eax, dword [0x14011132c]
mov dword [rsi + 0x10], ecx
cmp eax, 1
jne 0x1400dcb2b
test r8b, 0x20
je 0x1400dcb03
shr rdx, cl
lea eax, [rcx + 1]
and edx, dword [0x140111324]
mov dword [rsi + 0x10], eax
cmp edx, 1
jne 0x1400dcb22
mov rdx, qword [rsp + 0x38]
lea r11, sym.MZ_8_j0__JboISHBXB6n57pQ3nFObYfQs
mov r10, qword [rsp + 0xa8]
mov r12d, 0xfffffff3
jmp case.default.0x1400dca4a
or dword [rsi + 0x298], 0x20
jmp 0x1400dcb44
test eax, eax
je 0x1400dcb3a
add eax, 8
mov dword [rsi + 0x29c], eax
jmp 0x1400dcb44
mov dword [rsi + 0x29c], 0x11
test byte [rsi + 0x298], 0x20
je 0x1400dcb72
mov dword [rsi], 1
mov rdx, qword [rsp + 0x38]
lea r11, sym.MZ_8_j0__JboISHBXB6n57pQ3nFObYfQs
mov r10, qword [rsp + 0xa8]
mov r12d, 1
jmp case.default.0x1400dca4a
mov dword [rsi], 2
jmp 0x1400dcb53
mov r8d, dword [rsi + 0x10]
mov eax, r13d
sub eax, r8d
cmp eax, 6
jae 0x1400dcbcf
mov rdx, qword [rsi + 0x20]
nop dword [rax]
test rdx, rdx
je 0x1400dcc45
shr qword [rsi + 8], 8
mov rcx, qword [rsi + 0x18]
movzx eax, byte [rcx]
add dword [rsi + 0x10], 0xfffffff8
mov r8d, dword [rsi + 0x10]
shl rax, 0x38
or qword [rsi + 8], rax
lea rax, [rcx + 1]
mov qword [rsi + 0x18], rax
dec rdx
mov eax, r13d
mov qword [rsi + 0x20], rdx
sub eax, r8d
cmp eax, 6
jb 0x1400dcb90
mov rax, qword [rsi + 8]
mov ecx, r8d
shr rax, cl
and eax, dword [0x140111338]
mov dword [rsi + 0x29c], eax
add dword [rsi + 0x10], 6
mov eax, dword [rsi + 0x29c]
sub eax, 0xa
cmp eax, 0x14
ja 0x1400dcc55
mov dword [rsi], 2
mov ecx, dword [rsi + 0x29c]
mov eax, 1
shl eax, cl
mov edx, 0x3030
mov rcx, qword [rsi + 0x38]
sub eax, 0x10
mov dword [rsi + 0x50], eax
call qword [rsi + 0x28]
mov qword [rsi + 0xf0], rax
test rax, rax
jne 0x1400dcc65
mov rdx, qword [rsp + 0x38]
lea r12d, [rax - 0x1e]
mov r10, qword [rsp + 0xa8]
lea r11, sym.MZ_8_j0__JboISHBXB6n57pQ3nFObYfQs
jmp case.default.0x1400dca4a
mov rdx, qword [rsp + 0x38]
mov r12d, 2
jmp case.default.0x1400dca4a
mov rdx, qword [rsp + 0x38]
mov r12d, 0xfffffff3
jmp case.default.0x1400dca4a
add rax, 0x1da0
mov dword [rsi], 3
mov qword [rsi + 0xf8], rax
mov rcx, rsi
call fcn.1400e2e20
mov dword [rsi], 4
lea rdx, [rsi + 8]
mov rcx, rsi
call fcn.1400dea80
mov rdx, qword [rsp + 0x38]
mov r12d, eax
mov r10, qword [rsp + 0xa8]
lea r11, sym.MZ_8_j0__JboISHBXB6n57pQ3nFObYfQs
cmp eax, 1
jne case.default.0x1400dca4a
test byte [rsi + 0x298], 6
lea r11, sym.MZ_8_j0__JboISHBXB6n57pQ3nFObYfQs
je 0x1400dccfb
mov ecx, dword [rsi + 0x10]
mov r8d, ecx
neg r8d
and r8d, 7
je 0x1400dccfb
mov eax, dword [r11 + r8*4 + 0x111320]
mov rdx, qword [rsi + 8]
shr rdx, cl
and eax, edx
lea eax, [rcx + r8]
mov dword [rsi + 0x10], eax
je 0x1400dccfb
mov rdx, qword [rsp + 0x38]
mov r12d, 0xfffffff2
jmp case.default.0x1400dca4a
test byte [rsi + 0x298], 4
je 0x1400dcd1c
mov rdx, qword [rsp + 0x38]
mov r10, qword [rsp + 0xa8]
mov dword [rsi], 0xc
jmp case.default.0x1400dca4a
cmp dword [rsi + 0x108], 0
jne 0x1400dcd3d
mov rdx, qword [rsp + 0x38]
mov r10, qword [rsp + 0xa8]
mov dword [rsi], 0xe
jmp case.default.0x1400dca4a
mov rcx, rsi
call fcn.1400dc740
test byte [rsi + 0x298], 2
je case.0x1400dca4a.17
mov rdx, qword [rsp + 0x38]
mov r10, qword [rsp + 0xa8]
mov dword [rsi], 0xb
jmp case.default.0x1400dca4a
mov qword [rsi], 0x12
lea rax, [rsi + 0x3b8]
mov qword [rsi + 0x390], rax
mov qword [rsi + 0x2f0], 0
mov qword [rsi + 0x2e8], 0
movsxd rax, dword [rsi + 4]
cmp eax, 3
jl 0x1400dcdb2
mov rdx, qword [rsp + 0x38]
mov r10, qword [rsp + 0xa8]
mov dword [rsi], 5
jmp case.default.0x1400dca4a
add rax, 0x47
lea rdx, [rsi + 8]
mov rcx, rsi
lea r8, [rsi + rax*4]
call fcn.1400df0d0
mov rdx, qword [rsp + 0x38]
mov r12d, eax
mov r10, qword [rsp + 0xa8]
lea r11, sym.MZ_8_j0__JboISHBXB6n57pQ3nFObYfQs
cmp eax, 1
jne case.default.0x1400dca4a
movsxd rax, dword [rsi + 4]
inc dword [rsi + rax*4 + 0x11c]
movsxd rcx, dword [rsi + 4]
cmp dword [rsi + rcx*4 + 0x11c], 2
jae 0x1400dce11
lea eax, [rcx + 1]
mov dword [rsi + 4], eax
lea r11, sym.MZ_8_j0__JboISHBXB6n57pQ3nFObYfQs
jmp case.default.0x1400dca4a
mov dword [rsi], 0x13
movsxd rdx, dword [rsi + 4]
xor r9d, r9d
imul eax, edx, 0x278
mov qword [rsp + 0x20], rsi
mov ecx, dword [rsi + rdx*4 + 0x11c]
add ecx, 2
movsxd rdx, eax
mov rax, qword [rsi + 0xf0]
lea r8, [rax + rdx*4]
mov edx, ecx
call fcn.1400dff20
mov rdx, qword [rsp + 0x38]
mov r12d, eax
mov r10, qword [rsp + 0xa8]
lea r11, sym.MZ_8_j0__JboISHBXB6n57pQ3nFObYfQs
cmp eax, 1
jne case.default.0x1400dca4a
mov dword [rsi], 0x14
imul eax, dword [rsi + 4], 0x18c
mov edx, 0x1a
xor r9d, r9d
mov qword [rsp + 0x20], rsi
movsxd rcx, eax
mov rax, qword [rsi + 0xf8]
lea r8, [rax + rcx*4]
mov ecx, edx
call fcn.1400dff20
mov rdx, qword [rsp + 0x38]
mov r12d, eax
mov r10, qword [rsp + 0xa8]
lea r11, sym.MZ_8_j0__JboISHBXB6n57pQ3nFObYfQs
cmp eax, 1
jne case.default.0x1400dca4a
mov dword [rsi], 0x15
lea r11, sym.MZ_8_j0__JboISHBXB6n57pQ3nFObYfQs
movsxd rdx, dword [rsi + 4]
imul eax, edx, 0x18c
cmp dword [rsi + 0x294], 0
lea rdi, [rsi + rdx*4]
movsxd rcx, eax
mov rax, qword [rsi + 0xf8]
lea r10, [rax + rcx*4]
jne 0x1400dcfc1
mov r8d, dword [rsi + 0x10]
mov eax, r13d
sub eax, r8d
cmp eax, 0xf
jae 0x1400dcf3f
mov rdx, qword [rsi + 0x20]
test rdx, rdx
je 0x1400dcf9b
shr qword [rsi + 8], 8
mov rcx, qword [rsi + 0x18]
movzx eax, byte [rcx]
add dword [rsi + 0x10], 0xfffffff8
mov r8d, dword [rsi + 0x10]
shl rax, 0x38
or qword [rsi + 8], rax
lea rax, [rcx + 1]
mov qword [rsi + 0x18], rax
dec rdx
mov eax, r13d
mov qword [rsi + 0x20], rdx
sub eax, r8d
cmp eax, 0xf
jb 0x1400dcf00
mov r9, qword [rsi + 8]
mov ecx, r8d
shr r9, cl
and r9d, dword [0x14011135c]
movzx ecx, r9b
movzx eax, byte [r10 + rcx*4]
lea r10, [r10 + rcx*4]
cmp al, 8
jbe 0x1400dcf8b
sub eax, 8
shr r9d, 8
add r8d, 8
mov dword [rsi + 0x10], r8d
mov edx, dword [r11 + rax*4 + 0x111320]
movzx eax, word [r10 + 2]
and edx, r9d
add edx, eax
movzx eax, byte [r10 + rdx*4]
lea r10, [r10 + rdx*4]
movzx eax, al
add eax, r8d
mov dword [rsi + 0x10], eax
movzx r10d, word [r10 + 2]
jmp 0x1400dcfc8
lea r8, [rsp + 0x90]
mov rcx, r10
lea rdx, [rsi + 8]
call fcn.1400e1190
test eax, eax
je 0x1400dd0b0
mov r10d, dword [rsp + 0x90]
jmp 0x1400dcfd0
mov r10d, dword [rsi + 0x10c]
mov dword [rsp + 0x90], r10d
mov r8d, dword [rsi + 0x10]
lea rcx, sym.MZ_8_j0__JboISHBXB6n57pQ3nFObYfQs
mov eax, r10d
movzx r9d, byte [rcx + rax*4 + 0x1116d2]
movzx r11d, word [rcx + rax*4 + 0x1116d0]
mov eax, r13d
sub eax, r8d
cmp eax, r9d
jae 0x1400dd03f
mov rdx, qword [rsi + 0x20]
nop
test rdx, rdx
je 0x1400dd09f
shr qword [rsi + 8], 8
mov rcx, qword [rsi + 0x18]
movzx eax, byte [rcx]
add dword [rsi + 0x10], 0xfffffff8
mov r8d, dword [rsi + 0x10]
shl rax, 0x38
or qword [rsi + 8], rax
lea rax, [rcx + 1]
mov qword [rsi + 0x18], rax
dec rdx
mov eax, r13d
mov qword [rsi + 0x20], rdx
sub eax, r8d
cmp eax, r9d
jb 0x1400dd000
mov rax, qword [rsi + 8]
mov ecx, r8d
mov rdx, qword [rsp + 0x38]
mov r10, qword [rsp + 0xa8]
shr rax, cl
lea rcx, sym.MZ_8_j0__JboISHBXB6n57pQ3nFObYfQs
mov ecx, dword [rcx + r9*4 + 0x111320]
and ecx, eax
lea eax, [r9 + r8]
mov dword [rsi + 0x10], eax
lea eax, [rcx + r11]
mov dword [rdi + 0x110], eax
lea r11, sym.MZ_8_j0__JboISHBXB6n57pQ3nFObYfQs
inc dword [rsi + 4]
mov rdi, qword [rsp + 0xa0]
mov dword [rsi + 0x294], 0
mov dword [rsi], 0x12
jmp case.default.0x1400dca4a
mov dword [rsi + 0x10c], r10d
mov dword [rsi + 0x294], 1
mov rdi, qword [rsp + 0xa0]
lea r11, sym.MZ_8_j0__JboISHBXB6n57pQ3nFObYfQs
mov rdx, qword [rsp + 0x38]
mov r12d, 2
mov r10, qword [rsp + 0xa8]
jmp case.default.0x1400dca4a
mov r9, rsi
mov r8, rbp
mov rcx, r10
call fcn.1400ddd00
mov rdx, qword [rsp + 0x38]
mov r12d, eax
mov r10, qword [rsp + 0xa8]
lea r11, sym.MZ_8_j0__JboISHBXB6n57pQ3nFObYfQs
cmp eax, 1
jne case.default.0x1400dca4a
mov dword [rsi], 0xe
lea r11, sym.MZ_8_j0__JboISHBXB6n57pQ3nFObYfQs
jmp case.default.0x1400dca4a
cmp dword [rsi + 0x108], 0
jle 0x1400dd188
mov r8d, dword [rsi + 0x10]
mov eax, r13d
sub eax, r8d
cmp eax, 8
jae 0x1400dd172
mov rdx, qword [rsi + 0x20]
test rdx, rdx
je 0x1400dcc45
shr qword [rsi + 8], 8
mov rcx, qword [rsi + 0x18]
movzx eax, byte [rcx]
add dword [rsi + 0x10], 0xfffffff8
mov r8d, dword [rsi + 0x10]
shl rax, 0x38
or qword [rsi + 8], rax
lea rax, [rcx + 1]
mov qword [rsi + 0x18], rax
dec rdx
mov eax, r13d
mov qword [rsi + 0x20], rdx
sub eax, r8d
cmp eax, 8
jb 0x1400dd133
lea eax, [r8 + 8]
mov dword [rsi + 0x10], eax
dec dword [rsi + 0x108]
cmp dword [rsi + 0x108], 0
jg 0x1400dd120
mov rdx, qword [rsp + 0x38]
mov dword [rsi], 0xe
jmp case.default.0x1400dca4a
mov r8d, dword [rsi + 0x10]
mov eax, r13d
sub eax, r8d
cmp eax, 6
jae 0x1400dd1ef
mov rdx, qword [rsi + 0x20]
nop dword [rax + rax]
test rdx, rdx
je 0x1400dcc45
shr qword [rsi + 8], 8
mov rcx, qword [rsi + 0x18]
movzx eax, byte [rcx]
add dword [rsi + 0x10], 0xfffffff8
mov r8d, dword [rsi + 0x10]
shl rax, 0x38
or qword [rsi + 8], rax
lea rax, [rcx + 1]
mov qword [rsi + 0x18], rax
dec rdx
mov eax, r13d
mov qword [rsi + 0x20], rdx
sub eax, r8d
cmp eax, 6
jb 0x1400dd1b0
mov rdx, qword [rsi + 8]
lea eax, [r8 + 6]
mov ecx, r8d
shr rdx, cl
and edx, dword [0x140111338]
mov ecx, edx
mov dword [rsi + 0x10], eax
and ecx, dword [0x140111328]
shr edx, 2
shl edx, cl
mov dword [rsi + 0x140], ecx
mov rcx, qword [rsi + 0x38]
mov dword [rsi + 0x144], edx
mov edx, dword [rsi + 0x11c]
call qword [rsi + 0x28]
mov qword [rsi + 0x2b0], rax
test rax, rax
jne 0x1400dd255
mov rdx, qword [rsp + 0x38]
lea r12d, [rax - 0x15]
mov r10, qword [rsp + 0xa8]
lea r11, sym.MZ_8_j0__JboISHBXB6n57pQ3nFObYfQs
jmp case.default.0x1400dca4a
mov qword [rsi], 6
lea r11, sym.MZ_8_j0__JboISHBXB6n57pQ3nFObYfQs
movsxd r9, dword [rsi + 4]
cmp r9d, dword [rsi + 0x11c]
jge 0x1400dd307
mov r10, r9
nop word [rax + rax]
mov r8d, dword [rsi + 0x10]
mov eax, r13d
sub eax, r8d
cmp eax, 2
jae 0x1400dd2d2
mov rdx, qword [rsi + 0x20]
test rdx, rdx
je 0x1400dd44f
shr qword [rsi + 8], 8
mov rcx, qword [rsi + 0x18]
movzx eax, byte [rcx]
add dword [rsi + 0x10], 0xfffffff8
mov r8d, dword [rsi + 0x10]
shl rax, 0x38
or qword [rsi + 8], rax
lea rax, [rcx + 1]
mov qword [rsi + 0x18], rax
dec rdx
mov eax, r13d
mov qword [rsi + 0x20], rdx
sub eax, r8d
cmp eax, 2
jb 0x1400dd293
mov rdx, qword [rsi + 8]
lea eax, [r8 + 2]
mov ecx, r8d
inc r9d
shr rdx, cl
and edx, dword [0x140111328]
mov dword [rsi + 0x10], eax
mov rax, qword [rsi + 0x2b0]
mov byte [r10 + rax], dl
inc r10
cmp r9d, dword [rsi + 0x11c]
jl 0x1400dd280
mov dword [rsi], 0x16
mov ecx, dword [rsi + 0x11c]
lea rdx, [rsi + 0x2a4]
shl ecx, 6
mov r9, rsi
mov r8, r15
call fcn.1400de0e0
mov rdx, qword [rsp + 0x38]
mov r12d, eax
mov r10, qword [rsp + 0xa8]
lea r11, sym.MZ_8_j0__JboISHBXB6n57pQ3nFObYfQs
cmp eax, 1
jne case.default.0x1400dca4a
xorps xmm0, xmm0
xor ebp, ebp
movups xmmword [rsi + 0x2c8], xmm0
movups xmmword [rsi + 0x2d8], xmm0
cmp dword [rsi + 0x11c], ebp
jbe 0x1400dd409
nop word [rax + rax]
mov r14, qword [r15]
mov r11, rbp
shl r11, 6
xor edi, edi
xor r10d, r10d
movzx r9d, byte [r14 + r11]
nop dword [rax]
nop dword [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 rdi, r8
cmp r10, r13
jb 0x1400dd390
test rdi, rdi
jne 0x1400dd3ef
mov rax, rbp
mov ecx, ebp
shr rax, 5
and ecx, 0x1f
lea rdx, [rsi + rax*4]
mov eax, dword [rdx + 0x2c8]
bts eax, ecx
mov dword [rdx + 0x2c8], eax
mov eax, dword [rsi + 0x11c]
inc rbp
cmp rbp, rax
jb 0x1400dd370
mov rdi, qword [rsp + 0xa0]
mov dword [rsi], 0x17
mov r10d, dword [rsi + 0x140]
mov eax, 0x18
mov r8d, dword [rsi + 0x144]
lea ecx, [r10 + 1]
shl eax, cl
lea r14d, [r8 + 0x10]
add r14d, eax
test byte [rsi + 0x298], 0x20
mov ebp, r14d
je 0x1400dd4d2
cmp r8d, 0x7ffffffc
jb 0x1400dd46b
mov ebp, 0x8000000c
jmp 0x1400dd4c0
mov rdx, qword [rsp + 0x38]
mov r12d, 2
mov r10, qword [rsp + 0xa8]
mov dword [rsi + 4], r9d
jmp case.default.0x1400dca4a
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 0x1400dd496
nop
inc eax
shr ecx, 1
jne 0x1400dd490
lea ecx, [rax - 1]
shr edx, cl
lea eax, [rax*2 - 4]
and edx, 1
or edx, eax
jne 0x1400dd4af
lea ebp, [r8 + 0x10]
jmp 0x1400dd4c0
lea eax, [rdx - 1]
mov ecx, r10d
shl eax, cl
lea ebp, [r8 + 0x11]
or eax, r9d
add ebp, eax
lea ecx, [r10 + 1]
mov eax, 0x3e
shl eax, cl
lea r14d, [r8 + 0x10]
add r14d, eax
mov ecx, dword [rsi + 0x124]
lea r8, [rsi + 0x150]
shl ecx, 2
lea rdx, [rsi + 0x148]
mov r9, rsi
call fcn.1400de0e0
mov rdx, qword [rsp + 0x38]
mov r12d, eax
mov r10, qword [rsp + 0xa8]
lea r11, sym.MZ_8_j0__JboISHBXB6n57pQ3nFObYfQs
cmp eax, 1
jne 0x1400dc970
mov eax, dword [rsi + 0x2a4]
lea rdx, [rsi + 0xa8]
mov r9d, 0x100
mov dword [rsp + 0x20], eax
mov r8d, r9d
mov rcx, rsi
call fcn.1400e2af0
mov ecx, dword [rsi + 0x120]
lea rdx, [rsi + 0xc0]
mov r9d, 0x2c0
mov dword [rsp + 0x20], ecx
mov edi, eax
mov r8d, r9d
mov rcx, rsi
and edi, 1
call fcn.1400e2af0
mov ecx, dword [rsi + 0x148]
lea rdx, [rsi + 0xd8]
mov dword [rsp + 0x20], ecx
mov r9d, ebp
mov rcx, rsi
mov r8d, r14d
and edi, eax
call fcn.1400e2af0
test edi, eax
je 0x1400ddbca
mov qword [rsi], 0x18
mov ecx, dword [rsi + 4]
test ecx, ecx
je 0x1400dd5ad
sub ecx, 1
je 0x1400dd5a6
cmp ecx, 1
jne 0x1400ddbd4
mov edi, 0xd8
jmp 0x1400dd5b2
mov edi, 0xc0
jmp 0x1400dd5b2
mov edi, 0xa8
cmp dword [rsi + 0x2e8], 1
je 0x1400dd5df
mov rax, qword [rdi + rsi + 8]
xor ecx, ecx
mov qword [rsi + 0x9f0], rax
mov dword [rsi + 0x9ec], 0
mov dword [rsi + 0x2e8], 1
jmp 0x1400dd5e5
mov ecx, dword [rsi + 0x9ec]
movzx eax, word [rdi + rsi + 0x14]
cmp ecx, eax
jge 0x1400dd664
mov r8, qword [rsi + 0x9f0]
nop word [rax + rax]
movzx edx, word [rdi + rsi + 0x12]
lea r9, [rsp + 0x30]
movzx ecx, word [rdi + rsi + 0x10]
mov qword [rsp + 0x20], rsi
call fcn.1400dff20
mov r12d, eax
cmp eax, 1
jne 0x1400dd789
mov rcx, qword [rdi + rsi]
mov rax, qword [rsi + 0x9f0]
movsxd rdx, dword [rsi + 0x9ec]
mov qword [rcx + rdx*8], rax
inc dword [rsi + 0x9ec]
mov eax, dword [rsp + 0x30]
shl rax, 2
add qword [rsi + 0x9f0], rax
movzx eax, word [rdi + rsi + 0x14]
mov r8, qword [rsi + 0x9f0]
cmp dword [rsi + 0x9ec], eax
jl 0x1400dd600
mov rdi, qword [rsp + 0xa0]
lea r15, [rsi + 0x2a8]
mov r14, qword [rsp + 0x98]
lea r11, sym.MZ_8_j0__JboISHBXB6n57pQ3nFObYfQs
mov rbp, qword [rsp + 0xb8]
mov r12d, 1
mov rdx, qword [rsp + 0x38]
mov r10, qword [rsp + 0xa8]
mov dword [rsi + 0x2e8], 0
inc dword [rsi + 4]
cmp dword [rsi + 4], 3
jl case.default.0x1400dca4a
mov dword [rsi], 0x19
lea r15, [rsi + 0x2a8]
mov ecx, dword [rsi + 0x12c]
mov r8d, ecx
mov eax, ecx
mov r9d, ecx
shr rax, 5
and ecx, 0x1f
shl r8d, 6
add r8, qword [r15]
mov qword [rsi + 0x98], r8
mov edx, dword [rsi + rax*4 + 0x2c8]
mov rax, qword [rsi + 0xa8]
shr rdx, cl
and edx, 1
mov dword [rsi + 0x100], edx
movzx ecx, byte [r8]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rsi + 0x2b0]
mov qword [rsi + 0x158], rcx
movzx ecx, byte [rax + r9]
lea rax, [0x140111740]
and ecx, 3
shl rcx, 9
add rcx, rax
mov rax, qword [rsi + 0x150]
mov qword [rsi + 0xa0], rax
mov rax, qword [rsi + 0xc0]
mov qword [rsi + 0x90], rcx
mov rcx, qword [rax]
mov qword [rsi + 0x88], rcx
mov rcx, rsi
call fcn.1400ddc50
test eax, eax
jne 0x1400dd7c1
mov r14, qword [rsp + 0x98]
lea r12d, [rax - 0x1b]
mov rbp, qword [rsp + 0xb8]
lea r11, sym.MZ_8_j0__JboISHBXB6n57pQ3nFObYfQs
mov rdx, qword [rsp + 0x38]
mov r10, qword [rsp + 0xa8]
jmp case.default.0x1400dca4a
mov rdi, qword [rsp + 0xa0]
lea r15, [rsi + 0x2a8]
mov r14, qword [rsp + 0x98]
lea r11, sym.MZ_8_j0__JboISHBXB6n57pQ3nFObYfQs
mov rbp, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0x38]
mov r10, qword [rsp + 0xa8]
jmp case.default.0x1400dca4a
mov r15d, dword [rsi + 0x140]
xor edi, edi
mov ebp, dword [rsi + 0x144]
mov ecx, r15d
movzx r14d, word [rsi + 0xea]
mov r11d, 1
shl r11d, cl
xor ecx, ecx
lea r9d, [rdi + 1]
lea r8d, [rdi + 0x10]
test ebp, ebp
je 0x1400dd81b
nop dword [rax]
nop word [rax + rax]
mov eax, r8d
inc ecx
inc r8d
mov byte [rsi + rax + 0x2e8], dil
mov dword [rsi + rax*4 + 0x508], ecx
cmp ecx, ebp
jb 0x1400dd800
cmp r8d, r14d
jae 0x1400dd86b
mov ecx, r9d
lea eax, [rdi + 2]
shl eax, cl
lea r10d, [rbp + 1]
sub eax, 4
mov ecx, r15d
shl eax, cl
xor edx, edx
add r10d, eax
test r11d, r11d
je 0x1400dd860
nop
mov ecx, r8d
lea eax, [r10 + rdx]
inc r8d
inc edx
mov byte [rsi + rcx + 0x2e8], r9b
mov dword [rsi + rcx*4 + 0x508], eax
cmp edx, r11d
jb 0x1400dd840
add r9d, edi
xor edi, 1
cmp r8d, r14d
jb 0x1400dd820
mov rdi, qword [rsp + 0xa0]
mov eax, 7
mov dword [rsi], eax
mov rcx, rsi
call fcn.1400df3a0
mov r14, qword [rsp + 0x98]
mov r12d, eax
mov rbp, qword [rsp + 0xb8]
lea r15, [rsi + 0x2a8]
mov rdx, qword [rsp + 0x38]
lea r11, sym.MZ_8_j0__JboISHBXB6n57pQ3nFObYfQs
mov r10, qword [rsp + 0xa8]
cmp eax, 2
jne case.default.0x1400dca4a
mov rcx, rsi
call fcn.1400e1250
mov rdx, qword [rsp + 0x38]
lea r11, sym.MZ_8_j0__JboISHBXB6n57pQ3nFObYfQs
mov r10, qword [rsp + 0xa8]
lea r15, [rsi + 0x2a8]
mov r12d, eax
jmp case.default.0x1400dca4a
mov r8, rdx
mov dword [rsp + 0x20], 0
mov rdx, r10
mov r9, rbp
mov rcx, rsi
call fcn.1400e20f0
mov rdx, qword [rsp + 0x38]
mov r12d, eax
mov r10, qword [rsp + 0xa8]
lea r11, sym.MZ_8_j0__JboISHBXB6n57pQ3nFObYfQs
cmp eax, 1
jne case.default.0x1400dca4a
mov rcx, rsi
call fcn.1400e20b0
mov ecx, dword [rsi + 0x29c]
mov eax, 1
shl eax, cl
cmp dword [rsi + 0x58], eax
jne 0x1400dd93d
mov eax, dword [rsi + 0x50]
mov dword [rsi + 0x54], eax
mov eax, dword [rsi]
cmp eax, 0xf
jne 0x1400dd973
cmp dword [rsi + 0x108], 0
lea r11, sym.MZ_8_j0__JboISHBXB6n57pQ3nFObYfQs
mov rdx, qword [rsp + 0x38]
mov eax, 0xe
mov r10, qword [rsp + 0xa8]
mov ecx, 7
cmovne eax, ecx
mov dword [rsi], eax
jmp case.default.0x1400dca4a
cmp eax, 0x10
jne 0x1400dd998
mov rdx, qword [rsp + 0x38]
lea r11, sym.MZ_8_j0__JboISHBXB6n57pQ3nFObYfQs
mov r10, qword [rsp + 0xa8]
mov eax, 0xa
mov dword [rsi], eax
jmp case.default.0x1400dca4a
cmp dword [rsi + 4], 0
jne 0x1400dd9cd
cmp dword [rsi + 0x108], 0
lea r11, sym.MZ_8_j0__JboISHBXB6n57pQ3nFObYfQs
mov rdx, qword [rsp + 0x38]
mov eax, 0xe
mov r10, qword [rsp + 0xa8]
mov ecx, 9
cmovne eax, ecx
mov dword [rsi], eax
jmp case.default.0x1400dca4a
mov rdx, qword [rsp + 0x38]
lea r11, sym.MZ_8_j0__JboISHBXB6n57pQ3nFObYfQs
mov r10, qword [rsp + 0xa8]
mov eax, 8
mov dword [rsi], eax
jmp case.default.0x1400dca4a
cmp dword [rsi + 0x108], 0
jge 0x1400dda01
mov r12d, 0xfffffff6
jmp case.default.0x1400dca4a
mov rcx, rsi
call fcn.1400e2c40
test byte [rsi + 0x298], 1
jne 0x1400dda31
mov rdx, qword [rsp + 0x38]
lea r11, sym.MZ_8_j0__JboISHBXB6n57pQ3nFObYfQs
mov r10, qword [rsp + 0xa8]
mov dword [rsi], 3
jmp case.default.0x1400dca4a
mov r9d, dword [rsi + 0x10]
mov r8d, r9d
neg r8d
and r8d, 7
je 0x1400dda7e
mov rdx, qword [rsi + 8]
lea r11, sym.MZ_8_j0__JboISHBXB6n57pQ3nFObYfQs
mov eax, dword [r11 + r8*4 + 0x111320]
mov ecx, r9d
shr rdx, cl
lea r9d, [r8 + r9]
mov dword [rsi + 0x10], r9d
and eax, edx
je 0x1400dda7e
mov rdx, qword [rsp + 0x38]
mov r12d, 0xfffffff1
mov r10, qword [rsp + 0xa8]
jmp case.default.0x1400dca4a
cmp dword [rsi + 0x48], 0
jne 0x1400ddacb
mov r8, qword [rsi + 0x20]
mov eax, r13d
sub eax, r9d
shr eax, 3
mov ecx, eax
sub qword [rsi + 0x18], rcx
add r8, rcx
mov qword [rsi + 0x20], r8
lea edx, [rax*8]
cmp edx, r13d
jne 0x1400ddab4
mov qword [rsi + 8], 0
jmp 0x1400ddaba
mov ecx, edx
shl qword [rsi + 8], cl
lea eax, [rdx + r9]
mov dword [rsi + 0x10], eax
mov qword [r14], r8
mov rax, qword [rsi + 0x18]
mov qword [rdi], rax
mov dword [rsi], 0x1a
cmp qword [rsi + 0x78], 0
je 0x1400ddb1c
mov r8, qword [rsp + 0x38]
mov r9, rbp
mov rdx, qword [rsp + 0xa8]
mov rcx, rsi
mov dword [rsp + 0x20], 1
call fcn.1400e20f0
mov r12d, eax
cmp eax, 1
je 0x1400ddb1c
mov rdx, qword [rsp + 0x38]
lea r11, sym.MZ_8_j0__JboISHBXB6n57pQ3nFObYfQs
mov r10, qword [rsp + 0xa8]
jmp case.default.0x1400dca4a
mov r12d, eax
mov edx, r12d
mov rcx, rsi
mov r13, qword [rsp + 0x50]
mov r15, qword [rsp + 0x48]
add rsp, 0x58
pop r14
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
jmp 0x1400e2080
mov rax, qword [rsi + 0x18]
mov qword [rdi], rax
mov rax, qword [rsi + 0x20]
mov qword [r14], rax
test rax, rax
je 0x1400ddb1c
mov rax, qword [rdi]
mov ecx, dword [rsi + 0x48]
movzx eax, byte [rax]
mov byte [rcx + rsi + 0x40], al
inc dword [rsi + 0x48]
inc qword [rdi]
sub qword [r14], 1
jne 0x1400ddb50
jmp 0x1400ddb1c
cmp dword [rsi + 0x48], 0
je 0x1400ddb7a
mov dword [rsi + 0x48], 0
jmp 0x1400ddb1c
mov r9, qword [rsi + 0x20]
mov r8d, dword [rsi + 0x10]
sub r13d, r8d
shr r13d, 3
mov ecx, r13d
sub qword [rsi + 0x18], rcx
add r9, rcx
mov qword [rsi + 0x20], r9
lea edx, [r13*8]
cmp edx, 0x40
jne 0x1400ddbae
mov qword [rsi + 8], 0
jmp 0x1400ddbb4
mov ecx, edx
shl qword [rsi + 8], cl
lea eax, [r8 + rdx]
mov dword [rsi + 0x10], eax
mov qword [r14], r9
mov rax, qword [rsi + 0x18]
mov qword [rdi], rax
jmp 0x1400ddb1c
mov edx, 0xffffffea
jmp 0x1400ddb1f
mov edx, 0xffffffe1
jmp 0x1400ddb1f
mov dword [rcx + 0x74], edx
sub edx, 1
je 0x1400e20a1
sub edx, 1
je 0x1400e209b
cmp edx, 1
je 0x1400e2095
xor eax, eax
ret
mov eax, 3
ret
mov eax, 2
ret
mov eax, 1
ret