Function at 0x14009ea4c
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x108
mov rbx, rdx
xorps xmm0, xmm0
movups xmmword [rsp + 0x7c], xmm0
movaps xmmword [rsp + 0x70], xmm0
movaps xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x50], xmm0
movaps xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x28], rcx
movups xmmword [rcx], xmm0
xor esi, esi
xor ecx, ecx
mov dl, 3
mov qword [rsp + 0xe8], r8
call fcn.14009f020
add rax, rbx
mov qword [rsp + 0xd0], rax
seto byte [rsp + 0xd8]
mov rax, qword [rsp + 0xd0]
mov al, byte [rsp + 0xd8]
mov byte [rsp + 0x23], al
lea rax, [0x1400fd970]
movsxd rcx, dword [rsi + rax]
xor dword [rsp + rcx*4 + 0x40], 0x78c104ba
add rsi, 4
cmp rsi, 0x48
jne 0x14009eac6
mov eax, 0x771e161b
lea rsi, [0x1400fda00]
lea rbp, [0x1400fd9c0]
lea r15, [0x1400ffba8]
lea r12, [0x1400ff798]
lea r14, [0x1400fda40]
lea r13, [0x1400ff7a8]
lea rdi, [0x1400fd920]
xor ecx, ecx
mov qword [rsp + 0xc8], rcx
xor ecx, ecx
mov qword [rsp + 0xc0], rcx
xor ecx, ecx
mov qword [rsp + 0xb8], rcx
xor ecx, ecx
mov qword [rsp + 0xb0], rcx
xor ecx, ecx
mov qword [rsp + 0xa8], rcx
xor ecx, ecx
mov qword [rsp + 0xa0], rcx
xor ecx, ecx
mov qword [rsp + 0x98], rcx
cmp eax, 0x520aa14f
jle 0x14009ebf4
cmp eax, 0x6af489b8
jle 0x14009ec67
cmp eax, 0x771e161a
jle 0x14009ece1
cmp eax, 0x7d360d45
je 0x14009ee31
cmp eax, 0x77b2009c
je 0x14009ee8b
cmp eax, 0x771e161b
jne 0x14009eb58
mov al, byte [rsp + 0xd8]
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0xf0], rax
cmp byte [rsp + 0xc8], 0
jne 0x14009ebcf
xor eax, eax
movsxd rcx, dword [rax + rdi]
xor dword [rsp + rcx*4 + 0x40], 0x7a21c57f
add rax, 4
cmp rax, 0x44
jne 0x14009ebb9
cmp byte [rsp + 0x23], 0
mov eax, 0x5b70f8e5
mov ecx, 0x5de8fbec
cmovne eax, ecx
xor eax, dword [rsp + 0x40]
mov cl, 1
mov qword [rsp + 0xc8], rcx
jmp 0x14009eb58
cmp eax, 0x2529ff55
jle 0x14009eca3
cmp eax, 0x2b7cb90d
jle 0x14009ed13
cmp eax, 0x2b7cb90e
je 0x14009eea0
cmp eax, 0x431144aa
jne 0x14009effc
cmp byte [rsp + 0xa0], 0
jne 0x14009ec42
xor eax, eax
movsxd rcx, dword [rax + r14]
xor dword [rsp + rcx*4 + 0x40], 0x775b11f8
add rax, 4
cmp rax, 0x18
jne 0x14009ec2c
cmp dword [rsp + 0x24], 2
mov eax, 0x4e694398
mov ecx, 0xcc0d598
cmovl eax, ecx
xor eax, dword [rsp + 0x70]
mov cl, 1
mov qword [rsp + 0xa0], rcx
jmp 0x14009eb58
cmp eax, 0x5fb8fe26
jg 0x14009ed72
cmp eax, 0x520aa150
je 0x14009ef03
cmp eax, 0x55455782
jne 0x14009eb58
cmp dword [rsp + 0x24], 2
mov eax, 0x5c4ac31f
mov ecx, 0x4b3270bf
cmove eax, ecx
xor eax, dword [rsp + 0x74]
jmp 0x14009eb58
cmp eax, 0x17ecc181
jg 0x14009ed9d
cmp eax, 0x33c4088
je 0x14009ef33
cmp eax, 0xd5cdd11
jne 0x14009eb58
mov eax, dword [rsp + 0x58]
mov ecx, 0x583d50b0
xor eax, ecx
mov dword [rsp + 0x24], 2
mov rbx, qword [rsp + 0x38]
jmp 0x14009eb58
cmp eax, 0x6af489b9
je 0x14009ef94
cmp eax, 0x6fb1eea3
jne 0x14009eb58
mov rax, qword [rsp + 0x28]
mov qword [rax + 8], rbx
mov eax, dword [rsp + 0x84]
mov ecx, 0x20f52a2f
xor eax, ecx
jmp 0x14009eb58
cmp eax, 0x2529ff56
je 0x14009efa9
cmp eax, 0x2745755d
jne 0x14009eb58
cmp byte [rsp + 0x98], 0
jne 0x14009ed4b
xor eax, eax
movsxd rcx, dword [rax + r15]
xor dword [rsp + rcx*4 + 0x40], 0x7cbfe930
add rax, 4
cmp rax, 8
jne 0x14009ed35
cmp rbx, 0x3b9ac9ff
mov eax, 0x3c6eb41
mov ecx, 0x33cffbc5
cmova eax, ecx
xor eax, dword [rsp + 0x7c]
mov cl, 1
mov qword [rsp + 0x98], rcx
jmp 0x14009eb58
cmp eax, 0x5fb8fe27
je 0x14009efbe
cmp eax, 0x62405f72
jne 0x14009eb58
call fcn.140022aef
mov eax, dword [rsp + 0x50]
mov ecx, 0x30b13df4
xor eax, ecx
jmp 0x14009eb58
cmp eax, 0x17ecc182
je 0x14009efe1
cmp eax, 0x23b1fc5f
jne 0x14009eb58
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0x30]
mov qword [rcx], rax
mov r8d, 1
mov cl, 3
xor edx, edx
call fcn.14009f8ae
mov qword [rsp + 0xe0], rax
mov rax, qword [rsp + 0xe0]
cmp byte [rsp + 0xc0], 0
jne 0x14009ee0e
xor ecx, ecx
movsxd rdx, dword [rcx + rbp]
xor dword [rsp + rdx*4 + 0x40], 0x316dbcb9
add rcx, 4
cmp rcx, 0x3c
jne 0x14009edf8
test rax, rax
mov eax, 0x1dc814d
mov ecx, 0x60a09eb7
cmove eax, ecx
xor eax, dword [rsp + 0x4c]
mov cl, 1
mov qword [rsp + 0xc0], rcx
jmp 0x14009eb58
mov rax, qword [rsp + 0x30]
mov rcx, qword [rax]
dec rcx
seto al
mov qword [rsp + 0x100], rcx
cmp byte [rsp + 0xa8], 0
jne 0x14009ee69
xor ecx, ecx
movsxd rdx, dword [rcx + r13]
xor dword [rsp + rdx*4 + 0x40], 0x3d971519
add rcx, 4
cmp rcx, 8
jne 0x14009ee53
test al, al
mov eax, 0x47b1c457
mov ecx, 0x6209659b
cmovne eax, ecx
xor eax, dword [rsp + 0x64]
mov cl, 1
mov qword [rsp + 0xa8], rcx
jmp 0x14009eb58
call fcn.140011264
mov eax, dword [rsp + 0x68]
mov ecx, 0x7a26d14e
xor eax, ecx
jmp 0x14009eb58
mov r8d, 1
mov cl, 3
xor edx, edx
call fcn.14009f8ae
add rax, qword [rsp + 0x38]
seto cl
mov qword [rsp + 0xf8], rax
cmp byte [rsp + 0xb0], 0
jne 0x14009eee1
xor eax, eax
movsxd rdx, dword [rax + r12]
xor dword [rsp + rdx*4 + 0x40], 0xe97711d
add rax, 4
cmp rax, 0x10
jne 0x14009eecb
test cl, cl
mov eax, 0x661a195f
mov ecx, 0x71d89da3
cmovne eax, ecx
xor eax, dword [rsp + 0x5c]
mov cl, 1
mov qword [rsp + 0xb0], rcx
jmp 0x14009eb58
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x100]
mov qword [rax], rcx
mov eax, dword [rsp + 0x6c]
mov ecx, 0x6b3d34b4
xor eax, ecx
mov dword [rsp + 0x24], 0
mov rbx, qword [rsp + 0xf8]
jmp 0x14009eb58
mov rax, qword [rsp + 0xe8]
cqo
idiv qword [rsp + 0xe0]
mov qword [rsp + 0x38], rdx
mov rax, qword [rsp + 0x38]
cmp byte [rsp + 0xb8], 0
jne 0x14009ef71
xor ecx, ecx
movsxd rdx, dword [rcx + rsi]
xor dword [rsp + rdx*4 + 0x40], 0x28a16966
add rcx, 4
cmp rcx, 0x34
jne 0x14009ef5b
test rax, rax
mov eax, 0x3ed1a06d
mov ecx, 0x18f1c472
cmovs eax, ecx
xor eax, dword [rsp + 0x54]
mov cl, 1
mov qword [rsp + 0xb8], rcx
jmp 0x14009eb58
call fcn.140011264
mov eax, dword [rsp + 0x60]
mov ecx, 0x688d6842
xor eax, ecx
jmp 0x14009eb58
call fcn.140011264
mov eax, dword [rsp + 0x48]
mov ecx, 0x21513d9a
xor eax, ecx
jmp 0x14009eb58
mov r8d, 0x3b9ac9ff
mov rcx, rbx
xor edx, edx
call fcn.14001c234
mov eax, dword [rsp + 0x80]
mov ecx, 0x7f790271
xor eax, ecx
jmp 0x14009eb58
cmp dword [rsp + 0x24], 0
mov eax, 0x5c4ac31f
mov ecx, 0x4b3270bf
cmove eax, ecx
xor eax, dword [rsp + 0x78]
jmp 0x14009eb58
cmp eax, 0x303dc6fd
jne 0x14009eb58
mov rax, qword [rsp + 0x28]
add rsp, 0x108
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret