Function at 0x140009690
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x108
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x70], xmm9
movaps xmmword [rbp + 0x60], xmm8
movaps xmmword [rbp + 0x50], xmm7
movaps xmmword [rbp + 0x40], xmm6
xorps xmm0, xmm0
movaps xmmword [rbp - 0x10], xmm0
movaps xmmword [rbp - 0x20], xmm0
movaps xmmword [rbp - 0x30], xmm0
movaps xmmword [rbp - 0x40], xmm0
movaps xmmword [rbp - 0x50], xmm0
movaps xmmword [rbp - 0x60], xmm0
cmp dword [0x140066a48], 9
mov eax, dword [0x140066a4c]
setg cl
lea edx, [rax + 1]
imul edx, eax
and dl, cl
mov byte [rbp + 0x37], dl
mov eax, 1
lea rcx, [0x14005a010]
nop
movsxd rdx, dword [rcx + rax*4 - 4]
xor dword [rbp + rdx*4 - 0x60], 0x1e27
cmp rax, 0x17
je 0x140009725
movsxd rdx, dword [rcx + rax*4]
xor dword [rbp + rdx*4 - 0x60], 0x1e27
add rax, 2
jmp 0x140009700
mov eax, 0x4819
mov dword [rbp - 0x78], 0
movaps xmm8, xmmword [0x14005a440]
movaps xmm7, xmmword [0x14005a430]
movaps xmm6, xmmword [0x14005a450]
movaps xmm9, xmmword [0x14005a420]
lea r15, [0x140059fb0]
xor ebx, ebx
mov dword [rbp - 0x64], 0
mov dword [rbp - 0x68], 0
mov dword [rbp - 0x6c], 0
xor edi, edi
xor r13d, r13d
xor r14d, r14d
xor r12d, r12d
mov dword [rbp - 0x74], 0
mov dword [rbp - 0x70], 0
jmp 0x1400097a0
mov eax, dword [rbp - 4]
mov ecx, 0x49c
xor eax, ecx
nop word cs:[rax + rax]
nop dword [rax]
cmp eax, 0x4818
jg 0x140009830
cmp eax, 0x25fc
jg 0x1400098a0
cmp eax, 0x8bf
jg 0x140009911
cmp eax, 0x24e
je 0x140009cfa
cmp eax, 0x348
je 0x140009ad2
cmp eax, 0x363
jne 0x1400097a0
cmp dword [0x140066a50], 0xa
mov eax, dword [0x140066a54]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x70], 0
jne 0x140009810
xor dword [rbp - 0x20], 0x3e31
xor dword [rbp - 4], 0x3e31
test al, al
mov eax, 0x3077
mov ecx, 0x3aad
cmovne eax, ecx
xor eax, dword [rbp - 0x24]
mov cl, 1
mov dword [rbp - 0x70], ecx
jmp 0x1400097a0
cmp eax, 0x6e3e
jle 0x1400098e0
cmp eax, 0x7986
jg 0x140009a42
cmp eax, 0x6e3f
je 0x140009d28
cmp eax, 0x70d1
je 0x140009d40
cmp eax, 0x735d
jne 0x1400097a0
mov eax, dword [0x140066a58]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0xe46
mov ecx, 0x7f01
cmove eax, ecx
cmp dword [0x140066a5c], 0xa
cmovl eax, ecx
xor eax, dword [rbp - 0x20]
jmp 0x1400097a0
cmp eax, 0x3148
jle 0x140009b1d
cmp eax, 0x3149
je 0x140009ec4
cmp eax, 0x420b
je 0x140009c51
cmp eax, 0x45df
jne 0x1400097a0
mov eax, dword [rbp - 0x14]
mov ecx, 0x6b13
xor eax, ecx
jmp 0x1400097a0
cmp eax, 0x5067
jle 0x140009b93
cmp eax, 0x5068
je 0x140009f5c
cmp eax, 0x52f5
je 0x140009fa2
cmp eax, 0x5c3b
je 0x140009bff
jmp 0x1400097a0
cmp eax, 0x8c0
je 0x14000a013
cmp eax, 0x98e
je 0x140009c9c
cmp eax, 0x1ade
jne 0x1400097a0
mov eax, 0x10
call fcn.1400585d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x20], rax
mov eax, 0x10
call fcn.1400585d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x18], rax
mov eax, 0x10
call fcn.1400585d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x38], rax
mov eax, 0x10
call fcn.1400585d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x28], rax
mov eax, 0x10
call fcn.1400585d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x10], rax
mov rax, qword [rbp + 0x20]
sub rsp, 0x20
call fcn.140031f80
add rsp, 0x20
mov rcx, qword [rbp + 0x20]
mov qword [rcx], rax
mov rax, qword [rbp + 0x18]
mov rax, qword [rbp + 0x20]
mov rcx, qword [rax]
sub rsp, 0x20
mov edx, 0x59b8ecc
call fcn.14001f820
add rsp, 0x20
mov rcx, qword [rbp + 0x18]
mov qword [rcx], rax
mov rax, qword [rbp + 0x38]
mov rax, qword [rbp + 0x38]
lea rcx, section..data
mov qword [rax], rcx
mov rax, qword [rbp + 0x28]
mov rax, qword [rbp + 0x38]
mov rax, qword [rax]
movsxd rcx, dword [rax + 4]
sub rsp, 0x20
call fcn.140001300
add rsp, 0x20
mov rcx, qword [rbp + 0x28]
mov qword [rcx], rax
mov rax, qword [rbp + 0x10]
mov rax, qword [rbp + 0x10]
mov dword [rax], 0
mov eax, 0x10
call fcn.1400585d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov dword [rax], 0xd75e0c7b
mov eax, dword [rbp - 0x1c]
mov ecx, 0x6ed0
xor eax, ecx
jmp 0x1400097a0
cmp eax, 0x7987
je 0x140009788
cmp eax, 0x7b6d
je 0x14000a098
cmp eax, 0x7e16
jne 0x1400097a0
mov eax, dword [rbp - 0x7c]
cmp byte [rbp - 0x6c], 0
jne 0x140009aac
movups xmm0, xmmword [rbp - 0x48]
movups xmm1, xmmword [rbp - 0x38]
movups xmm2, xmmword [rbp - 0x14]
xorps xmm0, xmm9
movups xmmword [rbp - 0x48], xmm0
xorps xmm1, xmm9
movups xmmword [rbp - 0x38], xmm1
xor dword [rbp - 0x28], 0x2e15
xor dword [rbp - 0x24], 0x2e15
xor dword [rbp - 0x20], 0x2e15
xorps xmm2, xmm9
movups xmmword [rbp - 0x14], xmm2
xor dword [rbp - 4], 0x2e15
mov cl, 1
mov dword [rbp - 0x6c], ecx
cmp eax, 0xa275e9c4
je 0x140009bff
cmp eax, 0xcc3d9209
je 0x140009c51
cmp eax, 0xd75e0c7b
jne 0x140009c9c
cmp dword [0x140066a60], 0xa
mov eax, dword [0x140066a64]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
test r13b, r13b
jne 0x140009b03
xor dword [rbp - 0x3c], 0x28d2
xor dword [rbp - 0x10], 0x28d2
test al, al
mov eax, 0x329d
mov ecx, 0x16b
cmovne eax, ecx
xor eax, dword [rbp - 0x40]
mov r13b, 1
jmp 0x1400097a0
cmp eax, 0x25fd
je 0x14000a0c4
cmp eax, 0x2fb4
jne 0x14000a189
mov rax, qword [rbp + 0x38]
mov r8, qword [rax]
add r8, 8
mov rax, qword [rbp + 0x38]
mov rax, qword [rax]
mov edx, dword [rax + 4]
mov rax, qword [rbp + 0x28]
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.14004f540
add rsp, 0x20
mov rax, qword [rbp + 0x28]
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.1400014d0
add rsp, 0x20
mov rax, qword [rbp + 0x10]
mov rax, qword [rbp + 0x28]
mov rax, qword [rbp + 0x38]
mov rax, qword [rbp + 0x18]
mov rax, qword [rbp + 0x20]
mov eax, dword [rbp - 8]
mov ecx, 0x7ccf
xor eax, ecx
jmp 0x1400097a0
cmp eax, 0x4819
je 0x14000a140
cmp eax, 0x489b
jne 0x1400097a0
mov rax, qword [rbp + 0x18]
sub rsp, 0x20
mov ecx, 0x400
call qword [rax]
add rsp, 0x20
mov rax, qword [rbp + 8]
mov dword [rax], 0xcc3d9209
mov eax, dword [0x140066a68]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
sete cl
mov eax, 0x1a4f
mov esi, 0x6241
cmove eax, esi
cmp dword [0x140066a6c], 0xa
setl dl
cmovl eax, esi
xor dl, cl
cmovne eax, esi
xor eax, dword [rbp - 0x3c]
jmp 0x1400097a0
cmp dword [0x140066a70], 0xa
mov eax, dword [0x140066a74]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
test r12b, r12b
jne 0x140009c37
xor dword [rbp - 0x2c], 0x476
xor dword [rbp - 0x28], 0x476
xor dword [rbp - 8], 0x476
test al, al
mov eax, 0x6644
mov ecx, 0x78b9
cmovne eax, ecx
xor eax, dword [rbp - 0x30]
mov r12b, 1
jmp 0x1400097a0
cmp dword [0x140066a78], 0xa
mov eax, dword [0x140066a7c]
setl cl
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete al
or al, cl
test r14b, r14b
jne 0x140009c82
xor dword [rbp - 0x34], 0x16dd
xor dword [rbp - 0xc], 0x16dd
test al, al
mov eax, 0x1998
mov ecx, 0x1b05
cmovne eax, ecx
xor eax, dword [rbp - 0x38]
mov r14b, 1
jmp 0x1400097a0
mov eax, dword [0x140066a80]
cmp dword [0x140066a84], 0xa
setl cl
lea edx, [rax + 0x41f5f936]
not edx
lea esi, [rax + rax]
add esi, 0x41f5f936
add edx, esi
add edx, 0xfffffffe
imul edx, eax
test dl, 1
sete al
or al, cl
test dil, dil
jne 0x140009ce0
xor dword [rbp - 0x44], 0x20ad
xor dword [rbp - 0x14], 0x20ad
test al, al
mov eax, 0xc2f
mov ecx, 0x4bbe
cmovne eax, ecx
xor eax, dword [rbp - 0x48]
mov dil, 1
jmp 0x1400097a0
mov eax, dword [0x140066a88]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x2c82
mov ecx, 0x6a3e
cmove eax, ecx
cmp dword [0x140066a8c], 0xa
cmovl eax, ecx
xor eax, dword [rbp - 0x44]
jmp 0x1400097a0
mov rax, qword [rbp + 8]
mov eax, dword [rax]
mov dword [rbp - 0x7c], eax
mov eax, dword [rbp - 0x18]
mov ecx, 0x608f
xor eax, ecx
jmp 0x1400097a0
mov eax, 0x10
call fcn.1400585d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x20], rax
mov eax, 0x10
call fcn.1400585d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x18], rax
mov eax, 0x10
call fcn.1400585d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x38], rax
mov eax, 0x10
call fcn.1400585d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x28], rax
mov eax, 0x10
call fcn.1400585d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x10], rax
mov rax, qword [rbp + 0x20]
sub rsp, 0x20
call fcn.140031f80
add rsp, 0x20
mov rcx, qword [rbp + 0x20]
mov qword [rcx], rax
mov rax, qword [rbp + 0x18]
mov rax, qword [rbp + 0x20]
mov rcx, qword [rax]
sub rsp, 0x20
mov edx, 0x59b8ecc
call fcn.14001f820
add rsp, 0x20
mov rcx, qword [rbp + 0x18]
mov qword [rcx], rax
mov rax, qword [rbp + 0x38]
mov rax, qword [rbp + 0x38]
lea rcx, section..data
mov qword [rax], rcx
mov rax, qword [rbp + 0x28]
mov rax, qword [rbp + 0x38]
mov rax, qword [rax]
movsxd rcx, dword [rax + 4]
sub rsp, 0x20
call fcn.140001300
add rsp, 0x20
mov rcx, qword [rbp + 0x28]
mov qword [rcx], rax
mov rax, qword [rbp + 0x10]
mov rax, qword [rbp + 0x10]
mov dword [rax], 0
mov eax, 0x10
call fcn.1400585d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov dword [rax], 0xd75e0c7b
cmp dword [0x140066a90], 0xa
mov eax, dword [0x140066a94]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
test bl, bl
jne 0x140009eab
movups xmm0, xmmword [rbp - 0x54]
movups xmm1, xmmword [rbp - 0x44]
movups xmm2, xmmword [rbp - 0x34]
movups xmm3, xmmword [rbp - 0x18]
xorps xmm0, xmm6
movups xmmword [rbp - 0x54], xmm0
xorps xmm1, xmm6
movups xmmword [rbp - 0x44], xmm1
xorps xmm2, xmm6
movups xmmword [rbp - 0x34], xmm2
xor dword [rbp - 0x24], 0x52f6
xor dword [rbp - 0x20], 0x52f6
xorps xmm3, xmm6
movups xmmword [rbp - 0x18], xmm3
xor dword [rbp - 8], 0x52f6
xor dword [rbp - 4], 0x52f6
test al, al
mov eax, 0x4df
mov ecx, 0x16c1
cmovne eax, ecx
xor eax, dword [rbp - 0x58]
mov bl, 1
jmp 0x1400097a0
mov rax, qword [rbp + 0x38]
mov r8, qword [rax]
add r8, 8
mov rax, qword [rbp + 0x38]
mov rax, qword [rax]
mov edx, dword [rax + 4]
mov rax, qword [rbp + 0x28]
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.14004f540
add rsp, 0x20
mov rax, qword [rbp + 0x28]
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.1400014d0
add rsp, 0x20
mov rax, qword [rbp + 0x10]
mov rax, qword [rbp + 0x28]
mov rax, qword [rbp + 0x38]
mov rax, qword [rbp + 0x18]
mov rax, qword [rbp + 0x20]
cmp dword [0x140066a98], 0xa
mov eax, dword [0x140066a9c]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x74], 0
jne 0x140009f40
xor dword [rbp - 0x28], 0x119
test al, al
mov eax, 0x6232
mov ecx, 0x7d2e
cmovne eax, ecx
xor eax, dword [rbp - 0x2c]
mov cl, 1
mov dword [rbp - 0x74], ecx
jmp 0x1400097a0
mov rax, qword [rbp + 0x38]
mov rax, qword [rax]
mov edx, dword [rax + 4]
mov rax, qword [rbp + 0x28]
mov rcx, qword [rax]
mov r8, qword [rbp + 0x10]
sub rsp, 0x20
call fcn.140008660
add rsp, 0x20
test eax, eax
mov eax, 0xa275e9c4
mov ecx, 0xd75e0c7b
cmove eax, ecx
mov rcx, qword [rbp + 8]
mov dword [rcx], eax
mov eax, dword [rbp - 0xc]
mov ecx, 0xdd8
xor eax, ecx
jmp 0x1400097a0
mov rax, qword [rbp + 0x38]
mov rax, qword [rax]
mov edx, dword [rax + 4]
mov rax, qword [rbp + 0x28]
mov rcx, qword [rax]
mov r8, qword [rbp + 0x10]
sub rsp, 0x20
call fcn.140008660
add rsp, 0x20
test eax, eax
mov eax, 0xa275e9c4
mov ecx, 0xd75e0c7b
cmove eax, ecx
mov rcx, qword [rbp + 8]
mov dword [rcx], eax
mov eax, dword [0x140066aa0]
mov ecx, eax
not ecx
lea edx, [rax + rax]
add ecx, edx
add ecx, 0xaa161280
imul ecx, eax
test cl, 1
mov eax, 0xf45
mov ecx, 0x5c4e
cmove eax, ecx
cmp dword [0x140066aa4], 0xa
cmovl eax, ecx
xor eax, dword [rbp - 0x34]
jmp 0x1400097a0
cmp dword [0x140066aa8], 0xa
mov eax, dword [0x140066aac]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x64], 0
jne 0x14000a07c
movaps xmm0, xmmword [rbp - 0x50]
xorps xmm0, xmm8
movaps xmmword [rbp - 0x50], xmm0
movaps xmm0, xmmword [rbp - 0x40]
xorps xmm0, xmm8
movaps xmmword [rbp - 0x40], xmm0
movaps xmm0, xmmword [rbp - 0x30]
xorps xmm0, xmm8
movaps xmmword [rbp - 0x30], xmm0
xor dword [rbp - 0x20], 0x985
movups xmm0, xmmword [rbp - 0x18]
xorps xmm0, xmm8
movups xmmword [rbp - 0x18], xmm0
xor dword [rbp - 8], 0x985
xor dword [rbp - 4], 0x985
test al, al
mov eax, 0x22c8
mov ecx, 0x690a
cmovne eax, ecx
xor eax, dword [rbp - 0x54]
mov cl, 1
mov dword [rbp - 0x64], ecx
jmp 0x1400097a0
mov rax, qword [rbp + 0x18]
sub rsp, 0x20
mov ecx, 0x400
call qword [rax]
add rsp, 0x20
mov rax, qword [rbp + 8]
mov dword [rax], 0xcc3d9209
mov eax, dword [rbp - 0x10]
mov ecx, 0x29b9
xor eax, ecx
jmp 0x1400097a0
mov rax, qword [rbp + 8]
mov eax, dword [rax]
mov dword [rbp - 0x7c], eax
cmp dword [0x140066ab0], 0xa
mov eax, dword [0x140066ab4]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x68], 0
jne 0x14000a124
movups xmm0, xmmword [rbp - 0x4c]
movups xmm1, xmmword [rbp - 0x3c]
movups xmm2, xmmword [rbp - 0x2c]
movups xmm3, xmmword [rbp - 0x14]
xorps xmm0, xmm7
movups xmmword [rbp - 0x4c], xmm0
xorps xmm1, xmm7
movups xmmword [rbp - 0x3c], xmm1
xorps xmm2, xmm7
movups xmmword [rbp - 0x2c], xmm2
xorps xmm3, xmm7
movups xmmword [rbp - 0x14], xmm3
xor dword [rbp - 4], 0x2297
test al, al
mov eax, 0x2b4d
mov ecx, 0x3b64
cmovne eax, ecx
xor eax, dword [rbp - 0x50]
mov cl, 1
mov dword [rbp - 0x68], ecx
jmp 0x1400097a0
mov al, byte [rbp + 0x37]
cmp byte [rbp - 0x78], 0
jne 0x14000a16d
mov ecx, 1
nop
movsxd rdx, dword [r15 + rcx*4 - 4]
xor byte [rbp + rdx*4 - 0x60], 0x26
movsxd rdx, dword [r15 + rcx*4]
xor byte [rbp + rdx*4 - 0x60], 0x26
add rcx, 2
cmp rcx, 0x17
jne 0x14000a150
test al, 1
mov eax, 0x6ef6
mov ecx, 0x4f9
cmovne eax, ecx
xor eax, dword [rbp - 0x60]
mov cl, 1
mov dword [rbp - 0x78], ecx
jmp 0x1400097a0
cmp eax, 0x30a8
jne 0x1400097a0
xor eax, eax
movaps xmm6, xmmword [rbp + 0x40]
movaps xmm7, xmmword [rbp + 0x50]
movaps xmm8, xmmword [rbp + 0x60]
movaps xmm9, xmmword [rbp + 0x70]
lea rsp, [rbp + 0x88]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret