Function at 0x140070af0
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xa0
mov rax, qword [0x14039f5e8]
xor rax, rsp
mov qword [rsp + 0x90], rax
mov rbx, rcx
mov qword [rsp + 0x48], r8
lea rdi, [rcx + 0xc0]
mov qword [rsp + 0x70], rdx
mov rax, qword [rdi]
xor ebp, ebp
mov rcx, qword [rcx + 0xc8]
lea r15, [rbx + 0x30]
cmp rax, rcx
jae 0x140070b4a
movzx edx, byte [rax]
inc rax
jmp 0x140070b9f
cmp dword [r15], ebp
je 0x140070bc0
mov rax, qword [rbx + 0x10]
lea rdx, [rbx + 0x38]
mov r8d, dword [rbx + 0x34]
mov rcx, qword [rbx + 0x28]
call rax
mov ecx, dword [rdi]
sub ecx, dword [rbx + 0xd0]
add dword [rbx + 0xb8], ecx
test eax, eax
jne 0x140070b87
lea rcx, [rbx + 0x39]
mov dword [r15], ebp
mov qword [rbx + 0xc8], rcx
mov byte [rbx + 0x38], bpl
jmp 0x140070b97
cdqe
lea rcx, [rbx + 0x38]
add rcx, rax
mov qword [rbx + 0xc8], rcx
movzx edx, byte [rbx + 0x38]
lea rax, [rbx + 0x39]
movzx edx, dl
mov r9, rdi
mov dword [rsp + 0x38], edx
mov r8, rax
mov dword [rsp + 0x34], edx
mov r14, r15
mov qword [rdi], rax
mov rsi, r15
cmp rax, rcx
jae 0x140070bce
jmp 0x140070c23
mov r14, r15
mov dword [rsp + 0x38], ebp
mov rsi, r15
mov dword [rsp + 0x34], ebp
cmp dword [rsi], 0
je 0x140070c4a
mov rax, qword [rbx + 0x10]
lea r12, [rbx + 0x38]
mov r8d, dword [rbx + 0x34]
mov rdx, r12
mov rcx, qword [rbx + 0x28]
call rax
mov ecx, dword [rdi]
sub ecx, dword [rbx + 0xd0]
add dword [rbx + 0xb8], ecx
mov qword [rdi], r12
test eax, eax
jne 0x140070c10
lea rcx, [rbx + 0x39]
mov dword [rsi], ebp
mov qword [rbx + 0xc8], rcx
mov byte [r12], al
jmp 0x140070c20
cdqe
lea rcx, [rbx + 0x38]
add rcx, rax
mov qword [rbx + 0xc8], rcx
mov rax, qword [rdi]
movzx r8d, byte [rax]
inc rax
movzx edx, r8b
mov dword [rsp + 0x60], edx
mov qword [rdi], rax
mov byte [rsp + 0x30], r8b
cmp rax, rcx
jae 0x140070c53
movzx ecx, byte [rax]
inc rax
mov qword [rdi], rax
jmp 0x140070cc1
mov byte [rsp + 0x30], 0
mov dword [rsp + 0x60], ebp
cmp dword [rsi], 0
je 0x140070cbf
mov rax, qword [rbx + 0x10]
lea rsi, [rbx + 0x38]
mov r8d, dword [rbx + 0x34]
mov rdx, rsi
mov rcx, qword [rbx + 0x28]
call rax
mov ecx, dword [rdi]
sub ecx, dword [rbx + 0xd0]
add dword [rbx + 0xb8], ecx
mov qword [rdi], rsi
test eax, eax
jne 0x140070ca1
lea rax, [rbx + 0x39]
mov dword [r14], ebp
mov qword [rbx + 0xc8], rax
mov byte [rsi], 0
mov rax, qword [rdi]
movzx ecx, byte [rax]
inc rax
mov qword [rdi], rax
jmp 0x140070cc1
cdqe
lea rcx, [rbx + 0x38]
add rcx, rax
mov rax, qword [rdi]
mov qword [rbx + 0xc8], rcx
movzx ecx, byte [rax]
inc rax
mov qword [rdi], rax
jmp 0x140070cc1
xor cl, cl
movzx eax, cl
mov rcx, rbx
mov dword [rsp + 0x44], eax
call fcn.1400649a0
mov rcx, rbx
mov dword [rsp + 0x68], eax
call fcn.1400649a0
mov rcx, qword [rdi]
mov dword [rsp + 0x54], eax
cmp rcx, qword [rbx + 0xc8]
jae 0x140070cf7
movzx edx, byte [rcx]
inc rcx
mov qword [rdi], rcx
jmp 0x140070d66
cmp dword [r15], 0
je 0x140070d64
mov rax, qword [rbx + 0x10]
lea rsi, [rbx + 0x38]
cmp byte [rbx + rcx*4 + 0x43], al
xor al, 0x48
mov edx, esi
mov rcx, qword [rbx + 0x28]
call rax
mov ecx, dword [rdi]
sub ecx, dword [rbx + 0xd0]
add dword [rbx + 0xb8], ecx
mov qword [rdi], rsi
test eax, eax
jne 0x140070d46
lea rax, [rbx + 0x39]
mov dword [r15], ebp
mov qword [rbx + 0xc8], rax
mov byte [rsi], 0
mov rax, qword [rdi]
movzx edx, byte [rax]
inc rax
mov qword [rdi], rax
jmp 0x140070d66
cdqe
lea rcx, [rbx + 0x38]
add rcx, rax
mov rax, qword [rdi]
mov qword [rbx + 0xc8], rcx
movzx edx, byte [rax]
inc rax
mov qword [rdi], rax
jmp 0x140070d66
xor dl, dl
mov rcx, rbx
movzx esi, dl
call fcn.1400649a0
mov rcx, rbx
call fcn.1400649a0
mov rcx, rbx
call fcn.1400649a0
mov rcx, rbx
mov dword [rsp + 0x40], eax
call fcn.1400649a0
mov rcx, qword [rbx + 0xc8]
mov dword [rsp + 0x50], eax
mov rax, qword [rdi]
cmp rax, rcx
jb 0x140070df6
cmp dword [r15], 0
je 0x140070e19
mov rax, qword [rbx + 0x10]
lea r14, [rbx + 0x38]
mov r8d, dword [rbx + 0x34]
mov rdx, r14
mov rcx, qword [rbx + 0x28]
call rax
mov ecx, dword [rdi]
sub ecx, dword [rbx + 0xd0]
add dword [rbx + 0xb8], ecx
mov qword [rdi], r14
test eax, eax
jne 0x140070de3
lea rcx, [rbx + 0x39]
mov dword [r15], ebp
mov qword [rbx + 0xc8], rcx
mov byte [r14], al
jmp 0x140070df3
cdqe
lea rcx, [rbx + 0x38]
add rcx, rax
mov qword [rbx + 0xc8], rcx
mov rax, qword [rdi]
movzx edx, byte [rax]
inc rax
movzx edx, dl
mov dword [rsp + 0x3c], edx
mov r12d, edx
mov qword [rdi], rax
cmp rax, rcx
jae 0x140070e20
movzx ecx, byte [rax]
inc rax
mov qword [rdi], rax
jmp 0x140070e90
mov dword [rsp + 0x3c], ebp
mov r12d, ebp
cmp dword [r15], 0
je 0x140070e8e
mov rax, qword [rbx + 0x10]
lea r14, [rbx + 0x38]
mov r8d, dword [rbx + 0x34]
mov rdx, r14
mov rcx, qword [rbx + 0x28]
call rax
mov ecx, dword [rdi]
sub ecx, dword [rbx + 0xd0]
add dword [rbx + 0xb8], ecx
mov qword [rdi], r14
test eax, eax
jne 0x140070e70
lea rax, [rbx + 0x39]
mov dword [r15], ebp
mov qword [rbx + 0xc8], rax
mov byte [r14], 0
mov rax, qword [rdi]
movzx ecx, byte [rax]
inc rax
mov qword [rdi], rax
jmp 0x140070e90
cdqe
lea rcx, [rbx + 0x38]
add rcx, rax
mov rax, qword [rdi]
mov qword [rbx + 0xc8], rcx
movzx ecx, byte [rax]
inc rax
mov qword [rdi], rax
jmp 0x140070e90
xor cl, cl
mov r9d, dword [rsp + 0x50]
mov r13d, 1
movzx eax, cl
mov qword [rsp + 0x80], rbp
mov dword [rsp + 0x88], ebp
mov dword [rsp + 0x58], ebp
mov dword [rsp + 0x78], ebp
cmp r9d, 0x1000000
jg 0x14007180e
mov r10d, dword [rsp + 0x40]
cmp r10d, 0x1000000
jg 0x14007180e
mov edx, dword [rsp + 0x44]
mov r14d, ebp
mov r8d, dword [rsp + 0x60]
cmp edx, 8
lea ecx, [rdx - 8]
cmovb ecx, edx
shr eax, 5
and eax, r13d
mov edx, r13d
sub edx, eax
mov dword [rsp + 0x7c], edx
test r8d, r8d
je 0x140070f1f
mov ecx, esi
sub ecx, 8
je 0x140070f1a
sub ecx, 7
je 0x140070f71
sub ecx, r13d
je 0x140070f71
sub ecx, 8
je 0x140070f40
cmp ecx, 8
jne 0x140070f4a
jmp 0x140070f40
mov esi, r13d
jmp 0x140070f43
sub r12d, 8
je 0x140070f7e
sub r12d, 7
je 0x140070f71
sub r12d, r13d
je 0x140070f62
sub r12d, 8
je 0x140070f3c
cmp r12d, 8
jne 0x140070f4a
mov esi, dword [rsp + 0x3c]
shr esi, 3
mov r12d, esi
test esi, esi
jne 0x140070f84
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
lea rax, str.bad_format
jmp 0x140071821
cmp ecx, 3
jne 0x140070f71
mov esi, 2
mov r12d, esi
jmp 0x140070f84
mov esi, 3
mov r14d, r13d
mov r12d, esi
jmp 0x140070f84
mov esi, r13d
mov r12d, r13d
mov rax, qword [rsp + 0x70]
mov dword [rax], r10d
mov rax, qword [rsp + 0x48]
mov dword [rax], r9d
test r10d, r10d
js 0x14007180e
test r9d, r9d
js 0x14007180e
je 0x140070fc1
mov eax, 0x7fffffff
mov ecx, ebp
cdq
idiv r9d
cmp r10d, eax
setle cl
test ecx, ecx
je 0x14007180e
mov ecx, r9d
imul ecx, r10d
test ecx, ecx
js 0x14007180e
xor edx, edx
mov eax, 0x7fffffff
div esi
cmp ecx, eax
jg 0x14007180e
test r9d, r9d
je 0x140071025
mov eax, 0x7fffffff
mov ecx, ebp
cdq
idiv r9d
cmp r10d, eax
setle cl
test ecx, ecx
je 0x1400717f9
mov eax, dword [rsp + 0x3c]
mov dword [rsp + 0x3c], eax
movzx eax, byte [rsp + 0x30]
mov byte [rsp + 0x30], al
mov eax, dword [rsp + 0x38]
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0x34]
mov dword [rsp + 0x34], eax
mov dword [rsp + 0x60], r8d
mov eax, esi
imul eax, r9d
imul eax, r10d
movsxd rcx, eax
call fcn.1402935e4
mov qword [rsp + 0x48], rax
mov rdx, rax
test rax, rax
je 0x1400717f9
cmp dword [rsp + 0x38], 0
je 0x140071086
cmp qword [rbx + 0x10], 0
mov edx, dword [rsp + 0x34]
je 0x14007107b
mov ecx, dword [rbx + 0xc8]
sub ecx, dword [rdi]
cmp ecx, edx
jge 0x14007107b
mov rax, qword [rbx + 0xc8]
sub edx, ecx
mov rcx, qword [rbx + 0x28]
mov qword [rdi], rax
call qword [rbx + Ordinal_26]
jmp 0x140071081
movsxd rax, edx
add qword [rdi], rax
mov rdx, qword [rsp + 0x48]
cmp dword [rsp + 0x60], 0
jne 0x14007117f
mov ecx, dword [rsp + 0x44]
mov dword [rsp + 0x34], r14d
mov dword [rsp + 0x38], esi
cmp ecx, 8
jae 0x1400713ca
mov ecx, dword [rsp + 0x3c]
mov dword [rsp + 0x3c], ecx
movzx ecx, byte [rsp + 0x30]
mov byte [rsp + 0x30], cl
mov dword [rsp + 0x34], r14d
mov dword [rsp + 0x38], esi
test r14d, r14d
jne 0x1400713c2
mov r13d, dword [rsp + 0x50]
mov dword [rsp + 0x34], r14d
test r13d, r13d
jle 0x14007116a
mov r15d, esi
mov dword [rsp + 0x34], r14d
imul r15d, dword [rsp + 0x40]
mov ebp, r13d
cmp dword [rsp + 0x7c], 0
mov r14d, esi
je 0x14007113b
mov eax, r15d
neg eax
movsxd r12, eax
lea eax, [r13 - 1]
imul eax, esi
imul eax, dword [rsp + 0x40]
movsxd rdi, eax
add rdi, rdx
mov r8d, r15d
mov rdx, rdi
mov rcx, rbx
call fcn.140064790
add rdi, r12
sub rbp, 1
jne 0x140071112
mov edx, dword [rsp + 0x40]
mov esi, r13d
imul esi, edx
mov r12d, r14d
jmp 0x140071791
movsxd r12, r15d
mov rdi, rdx
mov r8d, r15d
mov rdx, rdi
mov rcx, rbx
call fcn.140064790
add rdi, r12
sub rbp, 1
jne 0x140071141
mov edx, dword [rsp + 0x40]
mov esi, r13d
imul esi, edx
mov r12d, r14d
jmp 0x140071791
mov edx, dword [rsp + 0x40]
mov r14d, esi
mov esi, r13d
mov r12d, r14d
imul esi, edx
jmp 0x140071791
mov r8d, dword [rsp + 0x54]
test r8d, r8d
jne 0x1400711a9
mov rcx, rdx
call fcn.140292ff8
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
lea rax, str.bad_palette
jmp 0x140071821
movsxd rdx, dword [rsp + 0x68]
test edx, edx
je 0x1400711f0
jns 0x1400711c0
mov rax, qword [rbx + 0xc8]
mov qword [rdi], rax
jmp 0x1400711f0
cmp qword [rbx + 0x10], 0
je 0x1400711ed
mov ecx, dword [rbx + 0xc8]
sub ecx, dword [rdi]
cmp ecx, edx
jge 0x1400711ed
mov rax, qword [rbx + 0xc8]
sub edx, ecx
mov rcx, qword [rbx + 0x28]
mov qword [rdi], rax
call qword [rbx + Ordinal_26]
mov r8d, dword [rsp + 0x54]
jmp 0x1400711f0
add qword [rdi], rdx
test r8d, r8d
js 0x1400717ef
xor edx, edx
mov eax, 0x7fffffff
div esi
mov ecx, ebp
cmp r8d, eax
setle cl
imul r12d, r8d
test ecx, ecx
je 0x1400717ef
movsxd rcx, r12d
call fcn.1402935e4
mov qword [rsp + 0x80], rax
mov rcx, rax
test rax, rax
je 0x1400717ef
mov dword [rsp + 0x34], r14d
test r14d, r14d
mov r14d, esi
mov dword [rsp + 0x38], esi
je 0x140071384
mov ecx, dword [rsp + 0x54]
mov r12, rax
test ecx, ecx
jle 0x140071371
mov eax, esi
mov edi, ecx
mov qword [rsp + 0x70], rax
mov eax, dword [rsp + 0x3c]
mov rsi, qword [rsp + 0x70]
mov dword [rsp + 0x3c], eax
movzx eax, byte [rsp + 0x30]
mov byte [rsp + 0x30], al
mov rcx, rbx
call fcn.1400649a0
movzx r8d, ax
mov eax, r8d
shr eax, 0xa
and eax, 0x1f
imul ecx, eax, 0xff
mov eax, 0x84210843
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, r8d
shr eax, 5
and r8d, 0x1f
and eax, 0x1f
mov byte [r12], dl
imul ecx, eax, 0xff
mov eax, 0x84210843
imul ecx
add edx, ecx
imul ecx, r8d, 0xff
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x84210843
mov byte [r12 + 1], dl
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
mov byte [r12 + 2], dl
add r12, rsi
sub rdi, r13
jne 0x140071275
lea rdi, [rbx + 0xc0]
mov ecx, dword [rsp + 0x44]
mov esi, dword [rsp + 0x50]
mov eax, dword [rsp + 0x40]
imul esi, eax
mov r12d, r14d
mov dword [rsp + 0x68], esi
test esi, esi
je 0x140071705
mov r9, qword [rsp + 0x48]
lea rax, [rsp + 0x88]
sub r9, rax
mov r10d, esi
mov qword [rsp + 0x60], r9
mov r8d, ebp
movsxd r11, r14d
mov qword [rsp + 0x70], r10
cmp ecx, 8
jb 0x14007146c
test r8d, r8d
jne 0x14007145c
mov rax, qword [rdi]
cmp rax, qword [rbx + 0xc8]
jae 0x1400713d2
movzx ecx, byte [rax]
inc rax
mov qword [rdi], rax
jmp 0x140071441
mov eax, dword [rsp + 0x3c]
mov dword [rsp + 0x3c], eax
movzx eax, byte [rsp + 0x30]
mov byte [rsp + 0x30], al
jmp 0x140071304
mov eax, dword [rsp + 0x3c]
mov rdx, rcx
mov dword [rsp + 0x3c], eax
mov r8d, r12d
movzx eax, byte [rsp + 0x30]
mov rcx, rbx
mov byte [rsp + 0x30], al
call fcn.140064790
test eax, eax
jne 0x140071304
mov rcx, qword [rsp + 0x48]
call fcn.140292ff8
mov rcx, qword [rsp + 0x80]
jmp 0x14007118c
mov r14d, esi
jmp 0x140071304
mov r14d, esi
jmp 0x140071308
cmp dword [r15], 0
je 0x14007143f
mov rax, qword [rbx + 0x10]
lea rsi, [rbx + 0x38]
mov r8d, dword [rbx + 0x34]
mov rdx, rsi
mov rcx, qword [rbx + 0x28]
call rax
mov ecx, dword [rdi]
sub ecx, dword [rbx + 0xd0]
add dword [rbx + 0xb8], ecx
mov qword [rdi], rsi
test eax, eax
jne 0x140071421
lea rax, [rbx + 0x39]
mov dword [r15], ebp
mov qword [rbx + 0xc8], rax
mov byte [rsi], 0
mov rax, qword [rdi]
movzx ecx, byte [rax]
inc rax
mov qword [rdi], rax
jmp 0x140071441
cdqe
lea rcx, [rbx + 0x38]
add rcx, rax
mov rax, qword [rdi]
mov qword [rbx + 0xc8], rcx
movzx ecx, byte [rax]
inc rax
mov qword [rdi], rax
jmp 0x140071441
xor cl, cl
movzx eax, cl
mov r8d, eax
and r8d, 0x7f
inc r8d
shr eax, 7
mov dword [rsp + 0x78], eax
mov dword [rsp + 0x58], r8d
jmp 0x14007146c
cmp dword [rsp + 0x78], 0
je 0x14007146c
test r13d, r13d
je 0x1400716ab
cmp byte [rsp + 0x30], 0
je 0x140071555
cmp dword [rsp + 0x3c], 8
jne 0x140071519
mov rax, qword [rdi]
cmp rax, qword [rbx + 0xc8]
jae 0x14007149f
movzx ecx, byte [rax]
inc rax
mov qword [rdi], rax
movzx eax, cl
jmp 0x140071521
cmp dword [r15], 0
je 0x140071512
mov rax, qword [rbx + 0x10]
lea rsi, [rbx + 0x38]
mov r8d, dword [rbx + 0x34]
mov rdx, rsi
mov rcx, qword [rbx + 0x28]
call rax
mov ecx, dword [rdi]
sub ecx, dword [rbx + 0xd0]
add dword [rbx + 0xb8], ecx
mov qword [rdi], rsi
test eax, eax
jne 0x1400714f1
lea rax, [rbx + 0x39]
mov dword [r15], ebp
mov qword [rbx + 0xc8], rax
mov byte [rsi], 0
mov rax, qword [rdi]
movzx ecx, byte [rax]
inc rax
mov qword [rdi], rax
movzx eax, cl
jmp 0x140071521
cdqe
lea rcx, [rbx + 0x38]
add rcx, rax
mov rax, qword [rdi]
mov qword [rbx + 0xc8], rcx
movzx ecx, byte [rax]
inc rax
mov qword [rdi], rax
movzx eax, cl
jmp 0x140071521
xor cl, cl
movzx eax, cl
jmp 0x140071521
mov rcx, rbx
call fcn.1400649a0
cmp eax, dword [rsp + 0x54]
cmovge eax, ebp
test r12, r12
je 0x140071696
imul eax, r14d
lea rcx, [rsp + 0x88]
mov r8, r12
movsxd rdx, eax
add rdx, qword [rsp + 0x80]
call fcn.14027bc20
jmp 0x140071696
cmp dword [rsp + 0x34], 0
je 0x1400715e8
mov rcx, rbx
call fcn.1400649a0
movzx r8d, ax
mov eax, r8d
shr eax, 0xa
and eax, 0x1f
imul ecx, eax, 0xff
mov eax, 0x84210843
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, r8d
shr eax, 5
and r8d, 0x1f
and eax, 0x1f
mov byte [rsp + 0x88], dl
imul ecx, eax, 0xff
mov eax, 0x84210843
imul ecx
add edx, ecx
imul ecx, r8d, 0xff
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x84210843
mov byte [rsp + 0x89], dl
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
mov byte [rsp + 0x8a], dl
jmp 0x140071696
mov rsi, rbp
test r12, r12
je 0x140071696
mov rax, qword [rdi]
cmp rax, qword [rbx + 0xc8]
jae 0x14007160e
movzx ecx, byte [rax]
inc rax
mov qword [rdi], rax
jmp 0x14007167e
cmp dword [r15], 0
je 0x14007167c
mov rax, qword [rbx + 0x10]
lea r14, [rbx + 0x38]
mov r8d, dword [rbx + 0x34]
mov rdx, r14
mov rcx, qword [rbx + 0x28]
call rax
mov ecx, dword [rdi]
sub ecx, dword [rbx + 0xd0]
add dword [rbx + 0xb8], ecx
mov qword [rdi], r14
test eax, eax
jne 0x14007165e
lea rax, [rbx + 0x39]
mov dword [r15], ebp
mov qword [rbx + 0xc8], rax
mov byte [r14], 0
mov rax, qword [rdi]
movzx ecx, byte [rax]
inc rax
mov qword [rdi], rax
jmp 0x14007167e
cdqe
lea rcx, [rbx + 0x38]
add rcx, rax
mov rax, qword [rdi]
mov qword [rbx + 0xc8], rcx
movzx ecx, byte [rax]
inc rax
mov qword [rdi], rax
jmp 0x14007167e
xor cl, cl
mov byte [rsp + rsi + 0x88], cl
inc rsi
cmp rsi, r12
jl 0x1400715f4
mov r14d, dword [rsp + 0x38]
mov r8d, dword [rsp + 0x58]
mov r13d, ebp
mov r9, qword [rsp + 0x60]
mov r10, qword [rsp + 0x70]
movsxd r11, r14d
mov rdx, rbp
test r12, r12
je 0x1400716da
nop dword [rax]
nop word [rax + rax]
lea rcx, [rsp + 0x88]
add rcx, rdx
inc rdx
movzx eax, byte [rcx]
mov byte [r9 + rcx], al
cmp rdx, r12
jl 0x1400716c0
mov ecx, dword [rsp + 0x44]
dec r8d
add r9, r11
mov dword [rsp + 0x58], r8d
sub r10, 1
mov qword [rsp + 0x60], r9
mov qword [rsp + 0x70], r10
jne 0x140071345
mov esi, dword [rsp + 0x68]
mov eax, dword [rsp + 0x40]
cmp dword [rsp + 0x7c], 0
mov r13d, dword [rsp + 0x50]
je 0x140071778
test r13d, r13d
jle 0x140071778
mov rdi, qword [rsp + 0x48]
lea r10d, [r13 - 1]
imul r10d, r14d
mov r11d, r14d
imul r11d, eax
mov ebx, ebp
imul r10d, eax
mov r8d, r11d
test r11d, r11d
jle 0x14007176a
movsxd rax, ebx
movsxd r9, r10d
sub r9, rax
lea rdx, [rax + rdi]
nop word [rax + rax]
movzx eax, byte [r9 + rdx]
dec r8d
movzx ecx, byte [rdx]
mov byte [rdx], al
mov byte [r9 + rdx], cl
lea rdx, [rdx + 1]
test r8d, r8d
jg 0x140071750
add ebx, r11d
sub r10d, r11d
add ebp, 2
cmp ebp, r13d
jl 0x140071730
mov rax, qword [rsp + 0x80]
test rax, rax
je 0x14007178d
mov rcx, rax
call fcn.140292ff8
mov edx, dword [rsp + 0x40]
mov rax, qword [rsp + 0x48]
cmp r14d, 3
jb 0x1400717ce
cmp dword [rsp + 0x34], 0
jne 0x1400717ce
mov r8, rax
test esi, esi
je 0x1400717ce
mov r9d, esi
nop dword [rax]
movzx ecx, byte [r8]
movzx eax, byte [r8 + 2]
mov byte [r8], al
mov byte [r8 + 2], cl
add r8, r12
sub r9, 1
jne 0x1400717b0
mov rax, qword [rsp + 0x48]
cmp r14d, 4
je 0x14007182c
mov r9d, edx
mov dword [rsp + 0x20], r13d
mov edx, r14d
mov r8d, 4
mov rcx, rax
call fcn.140064af0
jmp 0x14007182c
mov rcx, qword [rsp + 0x48]
call fcn.140292ff8
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
lea rax, str.outofmem
jmp 0x140071821
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
lea rax, str.too_large
mov edx, Ordinal_27
mov qword [rdx + rcx], rax
xor eax, eax
mov rcx, qword [rsp + 0x90]
xor rcx, rsp
call fcn.1402796f0
mov rbx, qword [rsp + 0xf8]
add rsp, 0xa0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret