Function at 0x140034840
Capabilities:
Encrypt data using rc4 ksa

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 r13
push r14
push r15
sub rsp, 0x90
mov rbx, rcx
lea rdi, [rcx + 0xb8]
mov rax, qword [rdi]
xor ebp, ebp
mov rcx, qword [rcx + 0xc0]
lea r14, [rbx + 0x30]
cmp rax, rcx
jae 0x140034888
movzx r9d, byte [rax]
inc rax
jmp 0x1400348ce
cmp dword [r14], ebp
je 0x1400348f1
mov r8d, dword [rbx + 0x34]
lea rdx, [rbx + 0x38]
mov rcx, qword [rbx + 0x28]
call qword [rbx + InitCommonControls]
test eax, eax
jne 0x1400348b4
lea rcx, [rbx + 0x39]
mov dword [r14], ebp
mov qword [rbx + 0xc0], rcx
mov byte [rbx + 0x38], bpl
jmp 0x1400348c5
movsxd rcx, eax
add rcx, 0x38
add rcx, rbx
mov qword [rbx + 0xc0], rcx
movzx r9d, byte [rbx + 0x38]
lea rax, [rbx + 0x39]
mov byte [rsp + 0xd0], r9b
mov rdx, rax
movzx edx, r9b
mov r8, rdi
mov dword [rsp + 0x30], edx
mov rsi, r14
mov qword [rdi], rax
cmp rax, rcx
jae 0x140034900
jmp 0x140034944
mov byte [rsp + 0xd0], bpl
mov rsi, r14
mov dword [rsp + 0x30], ebp
cmp dword [rsi], 0
je 0x14003496e
mov r8d, dword [rbx + 0x34]
lea r15, [rbx + 0x38]
mov rcx, qword [rbx + 0x28]
mov rdx, r15
call qword [rbx + InitCommonControls]
mov qword [rdi], r15
test eax, eax
jne 0x140034930
lea rcx, [rbx + 0x39]
mov dword [rsi], ebp
mov qword [rbx + 0xc0], rcx
mov byte [r15], al
jmp 0x140034941
movsxd rcx, eax
add rcx, 0x38
add rcx, rbx
mov qword [rbx + 0xc0], rcx
mov rax, qword [rdi]
movzx r8d, byte [rax]
inc rax
movzx edx, r8b
mov dword [rsp + 0x40], edx
mov qword [rdi], rax
mov byte [rsp + 0xf0], r8b
cmp rax, rcx
jae 0x14003497a
movzx ecx, byte [rax]
inc rax
mov qword [rdi], rax
jmp 0x1400349d8
mov byte [rsp + 0xf0], 0
mov dword [rsp + 0x40], ebp
cmp dword [rsi], 0
je 0x1400349d6
mov r8d, dword [rbx + 0x34]
lea r15, [rbx + 0x38]
mov rcx, qword [rbx + 0x28]
mov rdx, r15
call qword [rbx + InitCommonControls]
mov qword [rdi], r15
test eax, eax
jne 0x1400349b7
lea rax, [rbx + 0x39]
mov dword [rsi], ebp
mov qword [rbx + 0xc0], rax
mov byte [r15], 0
mov rax, qword [rdi]
movzx ecx, byte [rax]
inc rax
mov qword [rdi], rax
jmp 0x1400349d8
movsxd rcx, eax
mov rax, qword [rdi]
add rcx, 0x38
add rcx, rbx
mov qword [rbx + 0xc0], rcx
movzx ecx, byte [rax]
inc rax
mov qword [rdi], rax
jmp 0x1400349d8
xor cl, cl
movzx eax, cl
mov rcx, rbx
mov dword [rsp + 0x3c], eax
call fcn.140028fd0
mov rcx, rbx
mov dword [rsp + 0x60], eax
call fcn.140028fd0
mov rcx, qword [rdi]
mov dword [rsp + 0x58], eax
cmp rcx, qword [rbx + 0xc0]
jae 0x140034a0e
movzx edx, byte [rcx]
inc rcx
mov qword [rdi], rcx
jmp 0x140034a6d
cmp dword [r14], 0
je 0x140034a6b
mov r8d, dword [rbx + 0x34]
lea rsi, [rbx + 0x38]
mov rcx, qword [rbx + 0x28]
mov rdx, rsi
call qword [rbx + InitCommonControls]
mov qword [rdi], rsi
test eax, eax
jne 0x140034a4c
lea rax, [rbx + 0x39]
mov dword [r14], ebp
mov qword [rbx + 0xc0], rax
mov byte [rsi], 0
mov rax, qword [rdi]
movzx edx, byte [rax]
inc rax
mov qword [rdi], rax
jmp 0x140034a6d
movsxd rcx, eax
mov rax, qword [rdi]
add rcx, 0x38
add rcx, rbx
mov qword [rbx + 0xc0], rcx
movzx edx, byte [rax]
inc rax
mov qword [rdi], rax
jmp 0x140034a6d
xor dl, dl
mov rcx, rbx
mov qword [rsp + 0x88], r12
movzx esi, dl
call fcn.140028fd0
mov rcx, rbx
call fcn.140028fd0
mov rcx, rbx
call fcn.140028fd0
mov rcx, rbx
mov dword [rsp + 0x34], eax
call fcn.140028fd0
mov rcx, qword [rbx + 0xc0]
mov dword [rsp + 0x44], eax
mov rax, qword [rdi]
cmp rax, rcx
jb 0x140034af5
cmp dword [r14], 0
je 0x140034b1b
mov r8d, dword [rbx + 0x34]
lea r15, [rbx + 0x38]
mov rcx, qword [rbx + 0x28]
mov rdx, r15
call qword [rbx + InitCommonControls]
mov qword [rdi], r15
test eax, eax
jne 0x140034ae1
lea rcx, [rbx + 0x39]
mov dword [r14], ebp
mov qword [rbx + 0xc0], rcx
mov byte [r15], al
jmp 0x140034af2
movsxd rcx, eax
add rcx, 0x38
add rcx, rbx
mov qword [rbx + 0xc0], rcx
mov rax, qword [rdi]
movzx edx, byte [rax]
inc rax
movzx edx, dl
mov dword [rsp + 0xf8], edx
mov r12d, edx
mov qword [rdi], rax
cmp rax, rcx
jae 0x140034b25
movzx ecx, byte [rax]
inc rax
mov qword [rdi], rax
jmp 0x140034b85
mov dword [rsp + 0xf8], ebp
mov r12d, ebp
cmp dword [r14], 0
je 0x140034b83
mov r8d, dword [rbx + 0x34]
lea r15, [rbx + 0x38]
mov rcx, qword [rbx + 0x28]
mov rdx, r15
call qword [rbx + InitCommonControls]
mov qword [rdi], r15
test eax, eax
jne 0x140034b64
lea rax, [rbx + 0x39]
mov dword [r14], ebp
mov qword [rbx + 0xc0], rax
mov byte [r15], 0
mov rax, qword [rdi]
movzx ecx, byte [rax]
inc rax
mov qword [rdi], rax
jmp 0x140034b85
movsxd rcx, eax
mov rax, qword [rdi]
add rcx, 0x38
add rcx, rbx
mov qword [rbx + 0xc0], rcx
movzx ecx, byte [rax]
inc rax
mov qword [rdi], rax
jmp 0x140034b85
xor cl, cl
mov edx, dword [rsp + 0x3c]
mov r13d, 1
mov r8d, dword [rsp + 0x40]
cmp edx, 8
movzx eax, cl
mov r15d, ebp
mov qword [rsp + 0x70], rbp
lea ecx, [rdx - 8]
mov dword [rsp + 0x38], ebp
cmovb ecx, edx
mov dword [rsp + 0x48], ebp
shr eax, 5
mov edx, r13d
and eax, r13d
mov dword [rsp + 0x68], ebp
sub edx, eax
mov dword [rsp + 0x6c], edx
test r8d, r8d
je 0x140034bea
mov ecx, esi
sub ecx, 8
je 0x140034be5
sub ecx, 7
je 0x140034c3f
sub ecx, r13d
je 0x140034c3f
sub ecx, 8
je 0x140034c0e
cmp ecx, 8
jne 0x140034c18
jmp 0x140034c0e
mov esi, r13d
jmp 0x140034c11
sub r12d, 8
je 0x140034c4c
sub r12d, 7
je 0x140034c3f
sub r12d, r13d
je 0x140034c30
sub r12d, 8
je 0x140034c07
cmp r12d, 8
jne 0x140034c18
mov esi, dword [rsp + 0xf8]
shr esi, 3
mov r12d, esi
test esi, esi
jne 0x140034c52
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
lea rax, str.bad_format
jmp 0x14003550f
cmp ecx, 3
jne 0x140034c3f
mov esi, 2
mov r12d, esi
jmp 0x140034c52
mov esi, 3
mov r15d, r13d
mov r12d, esi
jmp 0x140034c52
mov esi, r13d
mov r12d, r13d
mov rax, qword [rsp + 0xd8]
mov r10d, dword [rsp + 0x34]
mov r9d, dword [rsp + 0x44]
mov dword [rax], r10d
mov rax, qword [rsp + 0xe0]
mov dword [rax], r9d
mov rax, qword [rsp + 0xe8]
test rax, rax
je 0x140034c81
mov dword [rax], esi
test r10d, r10d
js 0x1400354fc
test r9d, r9d
js 0x1400354fc
je 0x140034cae
mov eax, 0x7fffffff
mov ecx, ebp
cdq
idiv r9d
cmp r10d, eax
setle cl
test ecx, ecx
je 0x1400354fc
mov ecx, r9d
imul ecx, r10d
test ecx, ecx
js 0x1400354fc
xor edx, edx
mov eax, 0x7fffffff
div esi
cmp ecx, eax
jg 0x1400354fc
test r9d, r9d
je 0x140034d25
mov eax, 0x7fffffff
mov ecx, ebp
cdq
idiv r9d
cmp r10d, eax
setle cl
test ecx, ecx
je 0x1400354e7
mov eax, dword [rsp + 0xf8]
mov dword [rsp + 0xf8], eax
movzx eax, byte [rsp + 0xf0]
mov byte [rsp + 0xf0], al
movzx eax, byte [rsp + 0xd0]
mov byte [rsp + 0xd0], al
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x40], r8d
mov eax, esi
imul eax, r9d
imul eax, r10d
movsxd rcx, eax
call fcn.1400a95e8
mov qword [rsp + 0x50], rax
mov r8, rax
test rax, rax
je 0x1400354e7
cmp qword [rbx + 0x10], 0
je 0x140034d79
mov ecx, dword [rbx + 0xc0]
sub ecx, dword [rdi]
mov edx, dword [rsp + 0x30]
cmp ecx, edx
jge 0x140034d79
mov rax, qword [rbx + 0xc0]
sub edx, ecx
mov rcx, qword [rbx + 0x28]
mov qword [rdi], rax
call qword [rbx + 0x18]
mov r8, qword [rsp + 0x50]
jmp 0x140034d84
movzx eax, byte [rsp + 0xd0]
add qword [rdi], rax
cmp dword [rsp + 0x40], 0
jne 0x140034e7a
mov ecx, dword [rsp + 0x3c]
mov dword [rsp + 0x30], r15d
mov dword [rsp + 0xd0], esi
cmp ecx, 8
jae 0x140034fea
mov ecx, dword [rsp + 0xf8]
mov dword [rsp + 0xf8], ecx
movzx ecx, byte [rsp + 0xf0]
mov byte [rsp + 0xf0], cl
mov dword [rsp + 0x30], r15d
mov dword [rsp + 0xd0], esi
test r15d, r15d
jne 0x140034fe6
mov r13d, dword [rsp + 0x44]
mov dword [rsp + 0x30], r15d
test r13d, r13d
jle 0x140034e67
mov r14d, esi
mov dword [rsp + 0x30], r15d
imul r14d, dword [rsp + 0x34]
mov ebp, r13d
cmp dword [rsp + 0x6c], r15d
je 0x140034e4a
mov eax, r14d
neg eax
movsxd r12, eax
lea eax, [r13 - 1]
imul eax, esi
imul eax, dword [rsp + 0x34]
movsxd rdi, eax
add rdi, r8
nop dword [rax + rax]
mov r8d, r14d
mov rdx, rdi
mov rcx, rbx
call fcn.140028de0
add rdi, r12
sub rbp, 1
jne 0x140034e20
mov edx, dword [rsp + 0x34]
mov r12d, r13d
imul r12d, edx
mov r15d, esi
jmp 0x14003547e
movsxd r12, r14d
mov rdi, r8
mov r8d, r14d
mov rdx, rdi
mov rcx, rbx
call fcn.140028de0
add rdi, r12
sub rbp, 1
jne 0x140034e50
mov edx, dword [rsp + 0x34]
mov r12d, r13d
imul r12d, edx
mov r15d, esi
jmp 0x14003547e
movsxd rdx, dword [rsp + 0x60]
test edx, edx
jns 0x140034e8f
mov rax, qword [rbx + 0xc0]
mov qword [rdi], rax
jmp 0x140034eba
cmp qword [rbx + 0x10], 0
je 0x140034eb7
mov ecx, dword [rbx + 0xc0]
sub ecx, dword [rdi]
cmp ecx, edx
jge 0x140034eb7
mov rax, qword [rbx + 0xc0]
sub edx, ecx
mov rcx, qword [rbx + 0x28]
mov qword [rdi], rax
call qword [rbx + 0x18]
jmp 0x140034eba
add qword [rdi], rdx
mov r8d, dword [rsp + 0x58]
test r8d, r8d
js 0x1400354dd
xor edx, edx
mov eax, 0x7fffffff
div esi
mov ecx, ebp
cmp r8d, eax
setle cl
imul r12d, r8d
test ecx, ecx
je 0x1400354dd
movsxd rcx, r12d
call fcn.1400a95e8
mov qword [rsp + 0x70], rax
mov rcx, rax
test rax, rax
je 0x1400354dd
mov dword [rsp + 0x30], r15d
mov dword [rsp + 0xd0], esi
test r15d, r15d
je 0x140035077
mov ecx, dword [rsp + 0x58]
mov r12, rax
test ecx, ecx
jle 0x140035055
mov eax, esi
mov edi, ecx
mov qword [rsp + 0x60], rax
mov eax, dword [rsp + 0xf8]
mov rsi, qword [rsp + 0x60]
mov dword [rsp + 0xf8], eax
movzx eax, byte [rsp + 0xf0]
mov byte [rsp + 0xf0], al
nop dword [rax]
mov rcx, rbx
call fcn.140028fd0
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 0x140034f50
mov esi, dword [rsp + 0xd0]
lea rdi, [rbx + 0xb8]
mov ecx, dword [rsp + 0x3c]
mov r12d, dword [rsp + 0x44]
mov eax, dword [rsp + 0x34]
imul r12d, eax
mov r15d, esi
mov dword [rsp + 0x40], r12d
test r12d, r12d
je 0x1400353ee
mov r12, qword [rsp + 0x50]
lea rax, [rsp + 0x38]
mov r9d, dword [rsp + 0x40]
sub r12, rax
mov qword [rsp + 0x60], r9
mov r8d, ebp
movsxd r10, esi
cmp ecx, 8
jb 0x140035175
test r8d, r8d
jne 0x140035165
mov rax, qword [rdi]
cmp rax, qword [rbx + 0xc0]
jae 0x1400350d6
movzx ecx, byte [rax]
inc rax
mov qword [rdi], rax
jmp 0x14003514a
mov eax, dword [rsp + 0xf8]
mov dword [rsp + 0xf8], eax
movzx eax, byte [rsp + 0xf0]
mov byte [rsp + 0xf0], al
jmp 0x140034fe6
mov eax, dword [rsp + 0xf8]
mov rdx, rcx
mov dword [rsp + 0xf8], eax
mov r8d, r12d
movzx eax, byte [rsp + 0xf0]
mov rcx, rbx
mov byte [rsp + 0xf0], al
call fcn.140028de0
test eax, eax
jne 0x140034fe6
mov rcx, qword [rsp + 0x50]
call fcn.1400a95f0
mov rcx, qword [rsp + 0x70]
call fcn.1400a95f0
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
lea rax, str.bad_palette
jmp 0x14003550f
cmp dword [r14], 0
je 0x140035148
mov r8d, dword [rbx + 0x34]
lea rdx, [rbx + 0x38]
mov rcx, qword [rbx + 0x28]
call qword [rbx + InitCommonControls]
test eax, eax
jne 0x14003511b
mov dword [r14], ebp
movq xmm0, rbx
punpcklqdq xmm0, xmm0
paddq xmm0, xmmword [0x140128f40]
movdqu xmmword [rdi], xmm0
mov rax, qword [rdi]
mov byte [rax], 0
mov rax, qword [rdi]
movzx ecx, byte [rax]
inc rax
mov qword [rdi], rax
jmp 0x14003514a
cdqe
movq xmm1, rbx
add rax, rbx
movq xmm0, rax
punpcklqdq xmm1, xmm0
paddq xmm1, xmmword [0x140128f30]
movdqu xmmword [rdi], xmm1
mov rax, qword [rdi]
movzx ecx, byte [rax]
inc rax
mov qword [rdi], rax
jmp 0x14003514a
xor cl, cl
movzx eax, cl
mov r8d, eax
and r8d, 0x7f
inc r8d
shr eax, 7
mov dword [rsp + 0x68], eax
mov dword [rsp + 0x48], r8d
jmp 0x140035175
cmp dword [rsp + 0x68], 0
je 0x140035175
test r13d, r13d
je 0x1400353a6
cmp byte [rsp + 0xf0], 0
je 0x140035262
cmp dword [rsp + 0xf8], 8
jne 0x14003522d
mov rax, qword [rdi]
cmp rax, qword [rbx + 0xc0]
jae 0x1400351ae
movzx ecx, byte [rax]
inc rax
mov qword [rdi], rax
movzx eax, cl
jmp 0x140035235
cmp dword [r14], 0
je 0x140035226
mov r8d, dword [rbx + 0x34]
lea rdx, [rbx + 0x38]
mov rcx, qword [rbx + 0x28]
call qword [rbx + InitCommonControls]
test eax, eax
jne 0x1400351f6
mov dword [r14], ebp
movq xmm0, rbx
punpcklqdq xmm0, xmm0
paddq xmm0, xmmword [0x140128f40]
movdqu xmmword [rdi], xmm0
mov rax, qword [rdi]
mov byte [rax], 0
mov rax, qword [rdi]
movzx ecx, byte [rax]
inc rax
mov qword [rdi], rax
movzx eax, cl
jmp 0x140035235
cdqe
movq xmm1, rbx
add rax, rbx
movq xmm0, rax
punpcklqdq xmm1, xmm0
paddq xmm1, xmmword [0x140128f30]
movdqu xmmword [rdi], xmm1
mov rax, qword [rdi]
movzx ecx, byte [rax]
inc rax
mov qword [rdi], rax
movzx eax, cl
jmp 0x140035235
xor cl, cl
movzx eax, cl
jmp 0x140035235
mov rcx, rbx
call fcn.140028fd0
cmp eax, dword [rsp + 0x58]
cmovge eax, ebp
test r15, r15
je 0x140035396
imul eax, esi
lea rcx, [rsp + 0x38]
mov r8, r15
movsxd rdx, eax
add rdx, qword [rsp + 0x70]
call fcn.1400a4a90
jmp 0x140035396
cmp dword [rsp + 0x30], 0
je 0x1400352e8
mov rcx, rbx
call fcn.140028fd0
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 + 0x38], 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 + 0x39], dl
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
mov byte [rsp + 0x3a], dl
jmp 0x140035396
mov rsi, rbp
test r15, r15
je 0x14003538f
mov rax, qword [rdi]
cmp rax, qword [rbx + 0xc0]
jae 0x14003530b
movzx ecx, byte [rax]
inc rax
mov qword [rdi], rax
jmp 0x14003537f
cmp dword [r14], 0
je 0x14003537d
mov r8d, dword [rbx + 0x34]
lea rdx, [rbx + 0x38]
mov rcx, qword [rbx + 0x28]
call qword [rbx + InitCommonControls]
test eax, eax
jne 0x140035350
mov dword [r14], ebp
movq xmm0, rbx
punpcklqdq xmm0, xmm0
paddq xmm0, xmmword [0x140128f40]
movdqu xmmword [rdi], xmm0
mov rax, qword [rdi]
mov byte [rax], 0
mov rax, qword [rdi]
movzx ecx, byte [rax]
inc rax
mov qword [rdi], rax
jmp 0x14003537f
cdqe
movq xmm1, rbx
add rax, rbx
movq xmm0, rax
punpcklqdq xmm1, xmm0
paddq xmm1, xmmword [0x140128f30]
movdqu xmmword [rdi], xmm1
mov rax, qword [rdi]
movzx ecx, byte [rax]
inc rax
mov qword [rdi], rax
jmp 0x14003537f
xor cl, cl
mov byte [rsp + rsi + 0x38], cl
inc rsi
cmp rsi, r15
jl 0x1400352f4
mov esi, dword [rsp + 0xd0]
mov r8d, dword [rsp + 0x48]
mov r13d, ebp
mov r9, qword [rsp + 0x60]
movsxd r10, esi
mov rdx, rbp
test r15, r15
je 0x1400353c7
nop
lea rcx, [rsp + 0x38]
add rcx, rdx
inc rdx
movzx eax, byte [rcx]
mov byte [r12 + rcx], al
cmp rdx, r15
jl 0x1400353b0
mov ecx, dword [rsp + 0x3c]
dec r8d
add r12, r10
mov dword [rsp + 0x48], r8d
sub r9, 1
mov qword [rsp + 0x60], r9
jne 0x140035025
mov r12d, dword [rsp + 0x40]
mov eax, dword [rsp + 0x34]
cmp dword [rsp + 0x6c], 0
mov r13d, dword [rsp + 0x44]
je 0x140035468
test r13d, r13d
jle 0x140035468
mov rdi, qword [rsp + 0x50]
lea r10d, [r13 - 1]
imul r10d, esi
mov r11d, esi
imul r11d, eax
mov ebx, ebp
imul r10d, eax
nop dword [rax]
mov r8d, r11d
test r11d, r11d
jle 0x14003545a
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 0x140035440
add ebx, r11d
sub r10d, r11d
add ebp, 2
cmp ebp, r13d
jl 0x140035420
mov rax, qword [rsp + 0x70]
test rax, rax
je 0x14003547a
mov rcx, rax
call fcn.1400a95f0
mov edx, dword [rsp + 0x34]
mov rax, qword [rsp + 0x50]
cmp esi, 3
jb 0x1400354be
cmp dword [rsp + 0x30], 0
jne 0x1400354be
mov r8, rax
test r12d, r12d
je 0x1400354be
mov r9d, r12d
nop word [rax + rax]
movzx ecx, byte [r8]
movzx eax, byte [r8 + 2]
mov byte [r8], al
mov byte [r8 + 2], cl
add r8, r15
sub r9, 1
jne 0x1400354a0
mov rax, qword [rsp + 0x50]
cmp esi, 4
je 0x14003551a
mov r9d, edx
mov dword [rsp + 0x20], r13d
mov edx, esi
mov r8d, 4
mov rcx, rax
call fcn.140029100
jmp 0x14003551a
mov rcx, qword [rsp + 0x50]
call fcn.1400a95f0
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
lea rax, str.outofmem
jmp 0x14003550f
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
lea rax, str.too_large
mov edx, 0x18
mov qword [rdx + rcx], rax
xor eax, eax
mov r12, qword [rsp + 0x88]
add rsp, 0x90
pop r15
pop r14
pop r13
pop rdi
pop rsi
pop rbp
pop rbx
ret