Function at 0x140006069
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x118
mov qword [rsp + 0xe0], rcx
lea rbx, [rsp + 0xc8]
mov qword [rsp + 0xd0], rbx
mov rax, qword [rsp + 0xd0]
xor r14d, r14d
mov qword [rbx], r14
lea rbp, [rsp + 0xc0]
mov qword [rsp + 0xd8], rbp
mov rax, qword [rsp + 0xd8]
mov qword [rbp], r14
mov ecx, 0x105
call fcn.140015329
mov qword [rsp + 0xb8], rax
mov ecx, 0x105
call fcn.140015329
mov qword [rsp + 0xb0], rax
mov ecx, 0x105
call fcn.140015329
mov rdi, rax
mov ecx, 0x105
call fcn.140015329
mov rsi, rax
mov ecx, 0x10
call fcn.140015329
mov qword [rbx], rax
mov ecx, 0x10
call fcn.140015329
mov qword [rbp], rax
xor ecx, ecx
mov edx, 1
mov r8d, 0xa8e58a7b
mov r9d, 0x34
call fcn.14001939f
mov rcx, rsi
mov edx, 0x105
call rax
mov qword [rsp + 0xa0], rsi
mov rcx, rsi
mov rdx, rbp
call fcn.14001461e
xor ecx, ecx
mov edx, 1
mov r8d, 0xd8f4b6af
mov r9d, 0x89
call fcn.14001939f
mov rcx, rdi
mov edx, 0x105
call rax
mov qword [rsp + 0xa8], rdi
mov rcx, rdi
mov rdx, rbx
call fcn.14001461e
mov ecx, 0x500
call fcn.140015329
mov qword [rsp + 0x98], rax
mov rax, qword [rbp]
movzx ecx, word [rax]
mov dword [rsp + 0x88], ecx
movzx ecx, word [rax + 2]
mov dword [rsp + 0x84], ecx
movzx eax, word [rax + 6]
mov dword [rsp + 0x80], eax
mov rax, qword [rbx]
movzx ecx, word [rax]
mov dword [rsp + 0x90], ecx
movzx ecx, word [rax + 2]
mov dword [rsp + 0x8c], ecx
movzx eax, word [rax + 6]
mov dword [rsp + 0x94], eax
mov byte [rsp + 0x70], r14b
mov dword [rsp + 0x74], 0x71a65b1e
mov dword [rsp + 0x78], 0x40d62949
cmp byte [rsp + 0x70], r14b
jne 0x140006354
xor eax, eax
mov ecx, 0xffffffff
mov r8d, 0xc855dafc
mov r10d, 0x4b9376c6
mov r11d, 0x528a6e34
mov r14d, 0xad7591cb
mov r15d, 0x1bba0c2b
mov r9d, 0xe445f3d4
mov r12d, 0xeeb6a159
mov esi, dword [rsp + rax*4 + 0x74]
mov edi, esi
xor edi, ecx
mov edx, edi
and edx, 0x54811db4
mov ebx, esi
and ebx, 0xab7ee24b
or ebx, edx
xor ebx, 0x9cd4c748
mov edx, esi
xor edx, r8d
and edx, esi
mov ebp, ebx
and ebp, edx
xor ebx, edx
or ebx, ebp
xor edx, ecx
and edx, 0x37aa2503
and ebx, r8d
or ebx, edx
mov edx, ebx
xor edx, ecx
and ebx, 0x1b7bd748
mov ebp, edx
and ebp, 0xe48428b7
or ebp, ebx
xor ebp, 0x50e8a18e
and edx, r10d
or edx, ebp
mov ebx, edx
xor ebx, ecx
and ebx, r11d
and edx, r14d
or edx, ebx
mov ebx, edx
xor ebx, r14d
xor edx, r11d
mov ebp, edi
and ebp, 0xb46c8939
and esi, r10d
or esi, ebp
xor edi, esi
and edi, esi
mov esi, edi
xor esi, ecx
and edi, edx
or edx, esi
mov ebp, edx
xor ebp, ecx
and esi, ebx
or esi, edi
mov edi, esi
xor edi, ecx
mov ebx, edx
and ebx, r15d
and ebp, r9d
or ebp, ebx
or edx, edi
and edi, r15d
and esi, r9d
or esi, edi
xor esi, ebp
xor edx, ecx
or edx, esi
mov ebx, edx
mov esi, edx
xor esi, 0xbc790717
and esi, edx
xor edx, ecx
and edx, 0x597dcf7d
and ebx, 0xa6823082
or ebx, edx
mov edx, ebx
xor edx, 2
xor ebx, 0x18790715
or ebx, 0x4386f8e8
mov edi, esi
xor edi, ecx
mov ebp, ebx
and ebp, r12d
and edx, 0x10490606
or edx, ebp
or ebx, edi
and edi, r12d
and esi, 0x11495ea6
or esi, edi
xor esi, edx
xor ebx, ecx
or ebx, esi
mov edx, ebx
xor edx, ecx
and edx, 0x7145dd6b
and ebx, 0x8eba2294
or ebx, edx
xor ebx, 0x39867a3c
mov dword [rsp + rax*4 + 0x74], ebx
test rax, rax
mov eax, 1
je 0x14000622b
xor eax, eax
lea rcx, [rsp + 0xf4]
mov byte [rcx - 4], al
mov dword [rcx], 0x38ee2cfa
mov dword [rcx + 4], 0x79e571bb
mov dword [rcx + 8], 0x38a47af1
mov dword [rcx + 0xc], 0x6ee571ac
mov dword [rcx + 0x10], 0x33a47af1
mov dword [rcx + 0x14], 0x38ee3bfa
mov dword [rcx + 0x18], 0x33b37abb
mov dword [rcx + 0x1c], 0x1dc02cfa
cmp byte [rcx - 4], al
jne 0x140006554
xor edi, edi
mov r11d, 0xffffffff
mov r9d, 0x63cebf83
mov r10d, 0x9c31407c
mov r8d, 0x37dd9e5c
mov r12d, 0xc82261a3
mov r15d, dword [rsp + rdi*4 + 0xf4]
mov r13d, r15d
xor r13d, r11d
mov eax, r13d
and eax, 0x19579707
mov edx, r15d
and edx, 0xe6a868f8
or edx, eax
mov eax, edx
xor eax, 0x82a020a8
xor edx, 0x1150200
mov ebx, r13d
or ebx, 0x51d0210
or edx, 0x4800c900
mov ecx, 0x4d1dcb10
and edx, ecx
and eax, 0x82e220ad
or eax, edx
and ebx, ecx
mov r14d, r15d
and r14d, 0x30001442
or r14d, ebx
xor r14d, eax
mov eax, r14d
xor eax, r11d
and eax, 0x39a6074d
and r14d, 0xc659f8b2
or r14d, eax
mov eax, r14d
xor eax, 0x94490080
and eax, 0xd4694089
xor r14d, 0x6a306579
or r14d, eax
mov eax, r14d
xor eax, r11d
mov ecx, 0x669cc302
and eax, ecx
and r14d, 0x99633cfd
or r14d, eax
mov ebx, r14d
xor ebx, 0x81220051
and r15d, 0x60062fa9
mov eax, r13d
and eax, 0x9ff9d056
or eax, r15d
xor eax, 0x4b9090df
and r13d, 0x2b96bf76
or r13d, eax
mov eax, r13d
xor eax, r11d
xor r14d, ecx
mov edx, r13d
and edx, 0xce351699
mov esi, 0x8336c151
xor r13d, esi
and r13d, eax
mov ecx, 0x31cae966
and eax, ecx
or eax, edx
mov edx, eax
xor edx, ecx
xor eax, 0xb2fc2837
and eax, edx
mov ecx, r14d
and ecx, edx
xor edx, r14d
and r14d, 0x7cc93eae
and ebx, esi
or ebx, r14d
mov ebp, eax
xor ebp, r11d
mov esi, ebp
and esi, r9d
and eax, r10d
or eax, esi
mov esi, r13d
xor esi, r11d
or ebp, esi
and esi, r9d
and r13d, r10d
or r13d, esi
xor r13d, eax
xor ebp, r11d
or ebp, r13d
mov eax, ebx
xor eax, r11d
and eax, ebp
xor ebp, r11d
and ebp, ebx
or ebp, eax
or edx, ecx
mov eax, ebp
xor eax, r11d
mov ecx, eax
and ecx, r8d
and ebp, r12d
or ebp, ecx
mov ecx, edx
xor ecx, r11d
or eax, edx
and edx, r8d
and ecx, r12d
or ecx, edx
xor ecx, ebp
xor eax, r11d
or eax, ecx
mov ecx, eax
xor ecx, r11d
and ecx, 0x3656e0a9
and eax, 0xc9a91f56
or eax, ecx
mov dword [rsp + rdi*4 + 0xf4], eax
inc rdi
cmp rdi, 8
jne 0x1400063c1
mov rdi, qword [rsp + 0xb0]
mov qword [rsp + 0x60], rdi
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x58], rax
mov eax, dword [rsp + 0x88]
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x84]
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x80]
mov dword [rsp + 0x40], eax
mov rsi, qword [rsp + 0xb8]
mov qword [rsp + 0x38], rsi
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x30], rax
mov eax, dword [rsp + 0x90]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x8c]
mov dword [rsp + 0x20], eax
mov rcx, qword [rsp + 0x98]
lea rdx, [rsp + 0xf4]
lea r8, [rsp + 0x74]
mov r9d, dword [rsp + 0x94]
call fcn.14001aa39
mov rcx, rsi
mov rdx, rdi
call fcn.140015788
mov rax, qword [rsp + 0xc0]
movzx ecx, word [rax]
mov dword [rsp + 0x88], ecx
movzx ecx, word [rax + 2]
mov dword [rsp + 0x84], ecx
movzx eax, word [rax + 6]
mov dword [rsp + 0x80], eax
mov rax, qword [rsp + 0xc8]
movzx ecx, word [rax]
mov dword [rsp + 0x90], ecx
movzx ecx, word [rax + 2]
mov dword [rsp + 0x8c], ecx
movzx eax, word [rax + 6]
mov dword [rsp + 0x94], eax
xor eax, eax
mov byte [rsp + 0x70], al
mov dword [rsp + 0x74], 0x7b58c4f7
mov dword [rsp + 0x78], 0x4a28b6a0
cmp byte [rsp + 0x70], al
jne 0x140006806
xor r14d, r14d
mov ebx, 0xffffffff
mov r11d, 0xb7d0ee9d
mov r9d, 0x6ab21921
mov r10d, 0x6d0c7da6
mov r15d, dword [rsp + r14*4 + 0x74]
mov eax, r15d
xor eax, ebx
mov ecx, r15d
and ecx, 0x1b7b510f
mov esi, eax
and esi, 0xe484aef0
or esi, ecx
mov ebp, esi
xor ebp, 0x10691108
xor esi, 0xe0002ef0
and esi, 0xeb126ef7
and ebp, 0x14ed9108
or ebp, esi
mov edi, ebp
xor edi, 0x14e81008
or edi, 0x207a7f2
mov ecx, edi
xor ecx, ebx
and eax, 0xb7ce7c14
and r15d, 0x483183eb
or r15d, eax
mov eax, r15d
xor eax, 0x48300009
and eax, 0xfdf8580d
xor r15d, 0xb5c9dbe6
or r15d, eax
mov r12d, r15d
xor r12d, ebx
mov eax, r15d
and eax, r9d
mov esi, 0x746dbbe1
xor r15d, esi
and r15d, r12d
mov edx, 0x954de6de
and r12d, edx
or r12d, eax
mov r13d, r12d
xor r13d, edx
mov eax, edi
xor eax, esi
and eax, edi
xor ebp, 0x60800809
and ebp, ecx
mov esi, r12d
xor esi, 0xe1205d3f
and esi, r13d
mov edx, eax
and edx, ebp
xor ebp, eax
or ebp, edx
mov r8d, esi
xor r8d, ebx
mov eax, r8d
mov edx, 0x92f38259
and eax, edx
and esi, r10d
or esi, eax
mov eax, r15d
xor eax, ebx
or r8d, eax
and eax, edx
and r15d, r10d
or r15d, eax
xor r15d, esi
xor r8d, ebx
or r8d, r15d
mov eax, ebp
xor eax, ebx
and eax, 0xb0109944
and ebp, 0x4fe8441b
or ebp, eax
mov eax, r8d
xor eax, ebx
and eax, 0xb0129944
and r8d, 0x4fed66bb
or r8d, eax
xor r8d, ebp
mov eax, ecx
and eax, 0xd980180c
mov edx, 0x247ce6f1
and edi, edx
or edi, eax
xor r12d, r9d
or ecx, r12d
and r12d, 0xdb83190e
and r13d, edx
or r13d, r12d
xor r13d, edi
xor ecx, ebx
or ecx, r13d
mov eax, r8d
xor eax, ebx
mov edx, eax
mov ebp, 0x1ff04c05
and edx, ebp
mov edi, 0xe00fb3fa
and r8d, edi
or r8d, edx
mov edx, ecx
xor edx, ebx
or eax, ecx
and ecx, ebp
and edx, edi
or edx, ecx
xor edx, r8d
xor eax, ebx
or eax, edx
mov ecx, eax
xor ecx, r11d
and ecx, eax
xor eax, ebx
and eax, r11d
mov edx, eax
and edx, ecx
xor ecx, eax
or ecx, edx
mov dword [rsp + r14*4 + 0x74], ecx
test r14, r14
mov r14d, 1
je 0x140006676
xor eax, eax
lea rcx, [rsp + 0xf4]
mov byte [rcx - 4], al
mov dword [rcx], 0x912b5d5
mov dword [rcx + 4], 0x4819e894
mov dword [rcx + 8], 0x958e3de
mov dword [rcx + 0xc], 0x5f19e883
mov dword [rcx + 0x10], 0x258e3de
mov dword [rcx + 0x14], 0x912a2d5
mov dword [rcx + 0x18], 0x24fe394
mov dword [rcx + 0x1c], 0x2c3cb5d5
cmp byte [rcx - 4], al
jne 0x14000694c
xor eax, eax
mov r8d, 0xffffffff
mov edx, 0xc56a125d
mov r10d, 0x486c664d
mov r13d, 0xd3c3390f
mov r11d, 0x2c3cc6f0
mov r14d, 0x281635b0
mov r15d, 0xd7e9ca4f
mov edi, dword [rsp + rax*4 + 0xf4]
mov r9d, edi
xor r9d, r8d
mov ebx, edi
or ebx, 0x8046400
mov ebp, edi
xor ebp, edx
and ebp, edi
mov r12d, ebp
xor r12d, r8d
and ebx, r10d
mov esi, r9d
and esi, 0x85021010
or esi, ebx
mov ebx, edi
or ebx, r12d
and r12d, r10d
and ebp, 0xb79399b2
or ebp, r12d
xor ebp, esi
xor ebx, r8d
or ebx, ebp
xor ebp, r8d
and ebp, 0x3a95eda2
and ebx, edx
or ebx, ebp
mov esi, ebx
xor esi, r8d
and esi, 0x33eaff36
and ebx, 0xcc1500c9
or ebx, esi
mov esi, ebx
xor esi, 0xc0010009
and esi, r13d
xor ebx, 0x2028c630
and ebx, r11d
or ebx, esi
mov ecx, ebx
xor ecx, r13d
and ecx, ebx
and r9d, r11d
xor edi, r13d
or edi, r9d
mov ebp, edi
xor ebp, r8d
and ebp, r14d
and edi, r15d
or edi, ebp
mov ebp, edi
xor ebp, r15d
mov esi, ecx
xor esi, r8d
xor edi, r14d
and ebp, esi
or esi, edi
xor esi, r8d
and edi, ecx
or edi, ebp
mov ecx, esi
and ecx, edi
xor edi, esi
or edi, ecx
mov dword [rsp + rax*4 + 0xf4], edi
inc rax
cmp rax, 8
jne 0x14000687e
mov rdi, qword [rsp + 0xb0]
mov qword [rsp + 0x60], rdi
mov r14, qword [rsp + 0xa0]
mov qword [rsp + 0x58], r14
mov eax, dword [rsp + 0x88]
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x84]
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x80]
mov dword [rsp + 0x40], eax
mov rsi, qword [rsp + 0xb8]
mov qword [rsp + 0x38], rsi
mov rbx, qword [rsp + 0xa8]
mov qword [rsp + 0x30], rbx
mov eax, dword [rsp + 0x90]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x8c]
mov dword [rsp + 0x20], eax
mov rbp, qword [rsp + 0x98]
mov rcx, rbp
lea rdx, [rsp + 0xf4]
lea r8, [rsp + 0x74]
mov r9d, dword [rsp + 0x94]
call fcn.14001aa39
xor ecx, ecx
mov edx, 1
mov r8d, 0x6efba682
mov r9d, 0x84
call fcn.14001939f
mov rcx, rbp
call rax
mov rcx, rbp
mov edx, eax
call fcn.140014690
mov qword [rsp + 0xe8], rax
mov rcx, rsi
call fcn.14001519e
mov rcx, rdi
call fcn.14001519e
mov rcx, rbx
call fcn.14001519e
mov rcx, r14
call fcn.14001519e
mov rcx, qword [rsp + 0xc8]
call fcn.14001519e
mov rcx, qword [rsp + 0xc0]
call fcn.14001519e
mov rcx, rbp
call fcn.14001519e
mov eax, 0x61f5d5e2
mov rsi, qword [rsp + 0xe0]
xor edx, edx
mov ecx, 0x21b46b91
cmp ecx, 0xceb27683
je 0x140006ab1
cmp ecx, 0x61f5d5e2
je 0x140006a8e
cmp ecx, 0x21b46b91
jne 0x140006a61
mov dword [rsp + 0x6c], edx
mov ecx, dword [rsp + 0x6c]
cmp ecx, 8
mov ecx, 0xceb27683
cmovl ecx, eax
jmp 0x140006a61
mov ecx, dword [rsp + 0x6c]
shl ecx, 3
mov rdx, qword [rsp + 0xe8]
shr rdx, cl
movsxd rcx, dword [rsp + 0x6c]
mov byte [rsi + rcx + 8], dl
mov edx, dword [rsp + 0x6c]
inc edx
jmp 0x140006a5c
lea rdx, [rsi + 0x6c]
lea rdi, [rsi + 8]
mov dword [rsp + 0x20], 0x3e9
mov rcx, rdi
mov r8d, 8
mov r9d, 0xc
call fcn.140004700
lea rdx, [rsi + 0x4c]
mov dword [rsp + 0x20], 0x3ea
mov rcx, rdi
mov r8d, 8
mov r9d, 0xc
call fcn.140004700
lea rdx, [rsi + 0x8c]
mov dword [rsp + 0x20], 0x3eb
mov rcx, rdi
mov r8d, 8
mov r9d, 0x10
call fcn.140004700
lea rdx, [rsi + 0xec]
mov dword [rsp + 0x20], 0x3ec
mov rcx, rdi
mov r8d, 8
mov r9d, 0x10
call fcn.140004700
lea rdx, [rsi + 0xcc]
mov dword [rsp + 0x20], 0x3ed
mov rcx, rdi
mov r8d, 8
mov r9d, 0x10
call fcn.140004700
lea rdx, [rsi + 0xac]
mov dword [rsp + 0x20], 0x3ee
mov rcx, rdi
mov r8d, 8
mov r9d, 0x10
call fcn.140004700
lea rdx, [rsi + 0x13c]
mov dword [rsp + 0x20], 0x3ef
mov rcx, rdi
mov r8d, 3
mov r9d, 3
call fcn.140004700
lea rdx, [rsi + 0x140]
mov dword [rsp + 0x20], 0x3f0
mov rcx, rdi
mov r8d, 3
mov r9d, 3
call fcn.140004700
lea rdx, [rsi + 0x144]
mov dword [rsp + 0x20], 0x3f1
mov rcx, rdi
mov r8d, 6
mov r9d, 0xc
call fcn.140004700
lea rdx, [rsi + 0x10c]
mov dword [rsp + 0x20], 0x3f2
mov rcx, rdi
mov r8d, 4
mov r9d, 8
call fcn.140004700
lea rdx, [rsi + 0x11c]
mov dword [rsp + 0x20], 0x3f3
mov rcx, rdi
mov r8d, 4
mov r9d, 8
call fcn.140004700
lea rdx, [rsi + 0x12c]
mov dword [rsp + 0x20], 0x3f5
mov rcx, rdi
mov r8d, 4
mov r9d, 8
call fcn.140004700
lea rdx, [rsi + 0x10]
mov dword [rsp + 0x20], 0x3f6
mov rcx, rdi
mov r8d, 0xc
mov r9d, 0x10
call fcn.140004700
lea rdx, [rsi + 0x24]
mov dword [rsp + 0x20], 0x3f7
mov rcx, rdi
mov r8d, 0xc
mov r9d, 0x10
call fcn.140004700
lea rdx, [rsi + 0x38]
mov dword [rsp + 0x20], 0x3f8
mov rcx, rdi
mov r8d, 0xa
mov r9d, 0x12
call fcn.140004700
add rsi, 0x158
mov dword [rsp + 0x20], 0x3f9
mov rcx, rdi
mov rdx, rsi
mov r8d, 0x14
mov r9d, 0x24
call fcn.140004700
mov rax, qword [rsp + 0xd8]
mov rax, qword [rsp + 0xd0]
add rsp, 0x118
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret