Function at 0x1400383bb
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x178
mov rdi, rdx
mov qword [rsp + 0x160], rcx
xorps xmm0, xmm0
movaps xmmword [rsp + 0xb0], xmm0
movaps xmmword [rsp + 0xa0], xmm0
movaps xmmword [rsp + 0x90], xmm0
movaps xmmword [rsp + 0x80], xmm0
movaps xmmword [rsp + 0x70], xmm0
movaps xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x50], xmm0
mov dword [rsp + 0xc0], 0
mov byte [rsp + 0x22], r8b
mov rcx, rdx
call fcn.14001c7b6
mov qword [rsp + 0x28], rax
dec rdi
mov qword [rsp + 0x140], rdi
seto byte [rsp + 0x148]
mov rax, qword [rsp + 0x140]
mov al, byte [rsp + 0x148]
mov byte [rsp + 0x23], al
xor eax, eax
lea rcx, [0x1400ef310]
movsxd rdx, dword [rax + rcx]
xor dword [rsp + rdx*4 + 0x50], 0x78c104ba
add rax, 4
cmp rax, 0x70
jne 0x140037a4f
mov eax, 0x77b2009c
xor ecx, ecx
mov qword [rsp + 0x128], rcx
lea rbx, [0x1400ef3f0]
lea rbp, [0x1400ef540]
lea rdi, [0x1400ef554]
lea rsi, [0x1400ef4b0]
lea r8, [0x1400ef4a0]
lea r9, [0x1400ef4f0]
lea r10, [0x1400ef520]
lea r11, [0x1400ef450]
lea r12, [0x1400efe20]
lea r15, [0x1400ef2a0]
mov ecx, 0
mov qword [rsp + 0x118], rcx
mov ecx, 0
mov qword [rsp + 0x110], rcx
mov ecx, 0
mov qword [rsp + 0x100], rcx
mov ecx, 0
mov qword [rsp + 0xf8], rcx
mov ecx, 0
mov qword [rsp + 0xf0], rcx
mov ecx, 0
mov qword [rsp + 0x108], rcx
mov ecx, 0
mov qword [rsp + 0xe8], rcx
mov ecx, 0
mov qword [rsp + 0xe0], rcx
mov ecx, 0
mov qword [rsp + 0xd8], rcx
mov ecx, 0
mov qword [rsp + 0xd0], rcx
mov ecx, 0
mov qword [rsp + 0x120], rcx
cmp eax, 0x46794483
jle 0x140037bdf
cmp eax, 0x5fb8fe26
jg 0x140037c34
cmp eax, 0x5473af88
jle 0x140037cd2
cmp eax, 0x56259860
jg 0x140037dd8
cmp eax, 0x5473af89
je 0x140037f6a
cmp eax, 0x55455782
jne 0x140037b49
cmp byte [rsp + 0x118], 0
lea rdx, [0x1400ef380]
jne 0x140037bb0
xor eax, eax
movsxd rcx, dword [rax + rdx]
xor dword [rsp + rcx*4 + 0x50], 0x316dbcb9
add rax, 4
cmp rax, 0x64
jne 0x140037b9a
mov eax, dword [rsp + 0x5c]
mov ecx, 0x150c0047
xor eax, ecx
mov cl, 1
mov qword [rsp + 0x118], rcx
mov r13, qword [rsp + 0x168]
mov rcx, qword [rsp + 0x160]
mov qword [rsp + 0x30], rcx
jmp 0x140037b49
cmp eax, 0x26959244
jle 0x140037c80
cmp eax, 0x3736e2f5
jle 0x140037d0e
cmp eax, 0x411603ed
jg 0x140037e38
cmp eax, 0x3736e2f6
je 0x140037fb6
cmp eax, 0x40a872dd
jne 0x140037b49
cmp r13, qword [rsp + 0x130]
mov eax, 0xe541631
mov ecx, 0x1284259
cmovl eax, ecx
xor eax, dword [rsp + 0x74]
jmp 0x140037b49
cmp eax, 0x6fb1eea2
jle 0x140037d4f
cmp eax, 0x77b2009b
jg 0x140037e9b
cmp eax, 0x6fb1eea3
je 0x140037fff
cmp eax, 0x6ff39071
jne 0x140037b49
mov rax, qword [rsp + 0x28]
mov rax, qword [rax]
mov qword [rsp + 0x138], rax
mov eax, dword [rsp + 0x7c]
mov ecx, 0x402eab77
xor eax, ecx
jmp 0x140037b49
cmp eax, 0x17ecc181
jle 0x140037d98
cmp eax, 0x1bcad33c
jg 0x140037f0f
cmp eax, 0x17ecc182
je 0x140038053
cmp eax, 0x1940c862
jne 0x140037b49
mov eax, dword [rsp + 0x9c]
mov ecx, 0x6f44c537
xor eax, ecx
mov r14d, 6
mov rcx, qword [rsp + 0x158]
mov qword [rsp + 0x48], rcx
jmp 0x140037b49
cmp eax, 0x46794484
je 0x140038098
cmp eax, 0x490510ec
je 0x1400380e7
cmp eax, 0x4a68ab65
jne 0x140037b49
mov eax, dword [rsp + 0x94]
mov ecx, 0x1bf22a9e
xor eax, ecx
mov cl, byte [rsp + 0x22]
mov byte [rsp + 0x21], cl
jmp 0x140037b49
cmp eax, 0x26959245
je 0x14003813b
cmp eax, 0x2745755d
je 0x14003819a
cmp eax, 0x303dc6fd
jne 0x140037b49
mov rax, qword [rsp + 0x28]
mov rax, qword [rax]
mov qword [rsp + 0x130], rax
mov eax, dword [rsp + 0x70]
mov ecx, 0x7f97400
xor eax, ecx
jmp 0x140037b49
cmp eax, 0x5fb8fe27
je 0x1400381c1
cmp eax, 0x648bcbe3
je 0x140038206
cmp eax, 0x6ecc484e
jne 0x140037b49
mov eax, dword [rsp + 0xb8]
mov ecx, 0x2a143796
xor eax, ecx
mov dword [rsp + 0x24], 0
mov rcx, qword [rsp + 0x170]
mov qword [rsp + 0x40], rcx
jmp 0x140038241
cmp eax, 0x1c8405e
je 0x14003821f
cmp eax, 0x549b891
je 0x140038250
cmp eax, 0x1236ecda
jne 0x140037b49
mov eax, dword [rsp + 0xa0]
mov ecx, 0x6f44c537
xor eax, ecx
mov qword [rsp + 0x48], 0xffffffffffffffff
xor r14d, r14d
jmp 0x140037b49
cmp eax, 0x56259861
je 0x1400382a6
cmp eax, 0x5818fbf3
jne 0x140037b49
cmp byte [rsp + 0xe0], 0
jne 0x140037e10
xor eax, eax
movsxd rcx, dword [rax + r10]
xor dword [rsp + rcx*4 + 0x50], 0x1b98f6ac
add rax, 4
cmp rax, 0x20
jne 0x140037dfa
test byte [rsp + 0x21], 1
mov eax, 0x51dc3db7
mov ecx, 0x5aaa190f
cmove eax, ecx
xor eax, dword [rsp + 0x98]
mov cl, 1
mov qword [rsp + 0xe0], rcx
jmp 0x140037b49
cmp eax, 0x411603ee
je 0x14003832c
cmp eax, 0x431144aa
jne 0x140037b49
call fcn.140011264
lea r11, [0x1400ef450]
lea r10, [0x1400ef520]
lea r9, [0x1400ef4f0]
lea r8, [0x1400ef4a0]
lea rsi, [0x1400ef4b0]
lea rdi, [0x1400ef554]
lea rbp, [0x1400ef540]
lea rbx, [0x1400ef3f0]
mov eax, dword [rsp + 0x58]
mov ecx, 0x57a59647
xor eax, ecx
jmp 0x140037b49
cmp eax, 0x77b8ca1c
je 0x140038384
cmp eax, 0x77b2009c
jne 0x140037b49
mov al, byte [rsp + 0x148]
mov rax, qword [rsp + 0x140]
mov qword [rsp + 0x168], rax
cmp byte [rsp + 0x128], 0
jne 0x140037eea
xor eax, eax
movsxd rcx, dword [rax + r15]
xor dword [rsp + rcx*4 + 0x50], 0x7a21c57f
add rax, 4
cmp rax, 0x6c
jne 0x140037ed4
cmp byte [rsp + 0x23], 0
mov eax, 0x2d845338
mov ecx, 0x3bd04010
cmovne eax, ecx
xor eax, dword [rsp + 0x50]
mov cl, 1
mov qword [rsp + 0x128], rcx
jmp 0x140037b49
cmp eax, 0x1bcad33d
jne 0x140038397
call fcn.140011264
lea r11, [0x1400ef450]
lea r10, [0x1400ef520]
lea r9, [0x1400ef4f0]
lea r8, [0x1400ef4a0]
lea rsi, [0x1400ef4b0]
lea rdi, [0x1400ef554]
lea rbp, [0x1400ef540]
lea rbx, [0x1400ef3f0]
mov eax, dword [rsp + 0xb4]
mov ecx, 0x10abd051
xor eax, ecx
jmp 0x140037b49
cmp byte [rsp + 0x120], 0
jne 0x140037f7f
xor dword [rsp + 0xc0], 0x6af489b9
cmp dword [rsp + 0x24], 4
mov eax, 0x7d99d358
mov ecx, 0x4f841aa2
cmove eax, ecx
xor eax, dword [rsp + 0xbc]
mov cl, 1
mov qword [rsp + 0x120], rcx
mov r13, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x38]
mov qword [rsp + 0x30], rcx
jmp 0x140037b49
cmp byte [rsp + 0xd8], 0
jne 0x140037fd8
xor eax, eax
movsxd rcx, dword [rax + rbp]
xor dword [rsp + rcx*4 + 0x50], 0x2529ff56
add rax, 4
cmp rax, 0x14
jne 0x140037fc2
cmp r14d, 6
mov eax, 0x59ba679f
mov ecx, 0x3cf9ec22
cmovl eax, ecx
xor eax, dword [rsp + 0xa4]
mov cl, 1
mov qword [rsp + 0xd8], rcx
jmp 0x140037b49
mov rax, qword [rsp + 0x28]
cmp byte [rsp + 0xf8], 0
jne 0x140038026
xor ecx, ecx
movsxd rdx, dword [rcx + r12]
xor dword [rsp + rdx*4 + 0x50], 0xe97711d
add rcx, 4
cmp rcx, 8
jne 0x140038010
test rax, rax
mov eax, 0x79fbb13d
mov ecx, 0x96e051d
cmove eax, ecx
xor eax, dword [rsp + 0x6c]
mov cl, 1
mov qword [rsp + 0xf8], rcx
xor ecx, ecx
mov qword [rsp + 0x130], rcx
jmp 0x140037b49
cmp byte [rsp + 0x110], 0
jne 0x140038075
xor eax, eax
movsxd rcx, dword [rax + rbx]
xor dword [rsp + rcx*4 + 0x50], 0x59f86fa6
add rax, 4
cmp rax, 0x60
jne 0x14003805f
test r13, r13
mov eax, 0x14c80821
mov ecx, 0x6c35835b
cmovns eax, ecx
xor eax, dword [rsp + 0x60]
mov cl, 1
mov qword [rsp + 0x110], rcx
jmp 0x140037b49
mov rax, qword [rsp + 0x30]
and eax, 0xf
mov qword [rsp + 0x150], rax
cmp byte [rsp + 0x108], 0
jne 0x1400380ca
xor eax, eax
movsxd rcx, dword [rax + rsi]
xor dword [rsp + rcx*4 + 0x50], 0x634c96ff
add rax, 4
cmp rax, 0x34
jne 0x1400380b4
mov eax, dword [rsp + 0x84]
mov ecx, 0x3e7ebddc
xor eax, ecx
mov cl, 1
mov qword [rsp + 0x108], rcx
jmp 0x140037b49
mov rax, qword [rsp + 0x28]
cmp byte [rsp + 0xf0], 0
jne 0x14003810e
xor ecx, ecx
movsxd rdx, dword [rcx + r8]
xor dword [rsp + rdx*4 + 0x50], 0x2f7d4ef2
add rcx, 4
cmp rcx, 8
jne 0x1400380f8
test rax, rax
mov eax, 0x2635e7b1
mov ecx, 0x6f53e585
cmove eax, ecx
xor eax, dword [rsp + 0x78]
mov cl, 1
mov qword [rsp + 0xf0], rcx
xor ecx, ecx
mov qword [rsp + 0x138], rcx
jmp 0x140037b49
mov rax, qword [rsp + 0x138]
lea rdx, [rax - 1]
mov rcx, r13
call fcn.14001ce24
lea r11, [0x1400ef450]
lea r10, [0x1400ef520]
lea r9, [0x1400ef4f0]
lea r8, [0x1400ef4a0]
lea rsi, [0x1400ef4b0]
lea rdi, [0x1400ef554]
lea rbp, [0x1400ef540]
lea rbx, [0x1400ef3f0]
mov eax, dword [rsp + 0x80]
mov ecx, 0x20c27db6
xor eax, ecx
jmp 0x140037b49
mov eax, dword [rsp + 0x64]
mov ecx, 0x3e06bd53
xor eax, ecx
mov dword [rsp + 0x24], 4
mov qword [rsp + 0x40], r13
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x38], rcx
jmp 0x140037b49
cmp byte [rsp + 0x100], 0
jne 0x1400381e3
xor eax, eax
movsxd rcx, dword [rax + r11]
xor dword [rsp + rcx*4 + 0x50], 0x23b3651a
add rax, 4
cmp rax, 0x50
jne 0x1400381cd
test r13, r13
mov eax, 0x5c4fc79
mov ecx, 0x23700236
cmovs eax, ecx
xor eax, dword [rsp + 0x68]
mov cl, 1
mov qword [rsp + 0x100], rcx
jmp 0x140037b49
test r14d, r14d
mov eax, 0x2928771e
mov ecx, 0x3c4ddb79
cmove eax, ecx
xor eax, dword [rsp + 0xac]
jmp 0x140038237
cmp r14d, 6
mov eax, 0x2928771e
mov ecx, 0x3c4ddb79
cmove eax, ecx
xor eax, dword [rsp + 0xa8]
mov dword [rsp + 0x24], r14d
mov qword [rsp + 0x40], r13
mov rcx, qword [rsp + 0x48]
mov qword [rsp + 0x38], rcx
jmp 0x140037b49
mov rcx, qword [rsp + 0x150]
mov edx, 0xf
call fcn.14001ce24
lea r11, [0x1400ef450]
lea r10, [0x1400ef520]
lea r9, [0x1400ef4f0]
lea r8, [0x1400ef4a0]
lea rsi, [0x1400ef4b0]
lea rdi, [0x1400ef554]
lea rbp, [0x1400ef540]
lea rbx, [0x1400ef3f0]
mov eax, dword [rsp + 0x8c]
jmp 0x14003838b
mov rax, qword [rsp + 0x150]
lea rcx, [0x1400edd20]
mov al, byte [rax + rcx + 0x10]
mov rcx, qword [rsp + 0x28]
mov byte [rcx + r13 + 0x10], al
mov rax, qword [rsp + 0x30]
shr rax, 4
mov qword [rsp + 0x158], rax
mov rax, qword [rsp + 0x158]
test rax, rax
sete byte [rsp + 0x21]
cmp byte [rsp + 0xe8], 0
jne 0x140038306
xor ecx, ecx
movsxd rdx, dword [rcx + r9]
xor dword [rsp + rdx*4 + 0x50], 0x69603052
add rcx, 4
cmp rcx, 0x28
jne 0x1400382f0
test rax, rax
mov eax, 0x72921acc
mov ecx, 0x60e24a5a
cmove eax, ecx
xor eax, dword [rsp + 0x90]
mov cl, 1
mov qword [rsp + 0xe8], rcx
jmp 0x140037b49
mov rcx, r13
dec rcx
seto al
mov qword [rsp + 0x170], rcx
cmp byte [rsp + 0xd0], 0
jne 0x14003835f
xor ecx, ecx
movsxd rdx, dword [rcx + rdi]
xor dword [rsp + rdx*4 + 0x50], 0x33c4088
add rcx, 4
cmp rcx, 8
jne 0x140038349
test al, al
mov eax, 0x139790d9
mov ecx, 0x66910baa
cmovne eax, ecx
xor eax, dword [rsp + 0xb0]
mov cl, 1
mov qword [rsp + 0xd0], rcx
jmp 0x140037b49
mov eax, dword [rsp + 0x88]
mov ecx, 0x7caf795e
xor eax, ecx
jmp 0x140037b49
cmp eax, 0x25f10878
jne 0x140037b49
mov rax, qword [rsp + 0x28]
add rsp, 0x178
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
movsxd rcx, ecx
mov r8d, ecx
shr r8d, 0x1f
mov edx, 8
jmp 0x1400379b3