Function at 0x14009c410
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xf8
mov r10, rdx
mov rsi, rcx
xorps xmm0, xmm0
movaps xmmword [rsp + 0xe0], xmm0
movaps xmmword [rsp + 0xd0], xmm0
movaps xmmword [rsp + 0xc0], 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
nop word cs:[rax + rax]
mov eax, dword [0x14158f740]
xor edx, edx
div dword [0x14158f744]
imul eax, eax, 0x4c511693
add eax, 0xc0865e15
and eax, 0x90617fe9
cmp eax, 0xe600bbcd
ja 0x14009c480
mov r11, qword [rsi + 0xa0]
xor eax, eax
nop
test al, al
jne 0x14009c4b0
cmp r11, r8
jae 0x14009c9a6
cmp r11, 0x29
jae 0x14009cf99
nop word [rax + rax]
mov eax, dword [0x14158f808]
xor edx, edx
div dword [0x14158f80c]
mov ecx, eax
xor ecx, 0x5014784
and eax, 0x3afeb87b
add eax, eax
sub eax, ecx
or eax, 0x84c0ea7f
imul rax, rax, 0x574c84ef
shr rax, 0x3e
cmp eax, 0x8cb31978
ja 0x14009c4d0
lea rcx, [rsi + r11*4]
lea rax, [r8 + 1]
mov qword [rsp + 0x40], rax
lea rax, [r10 + r8*4]
mov qword [rsp + 0x38], rax
nop dword [rax]
mov eax, dword [0x14158f810]
mov edx, eax
not edx
or edx, dword [0x14158f814]
add eax, edx
inc eax
or eax, 0xf5aa114a
and eax, 0xf5fa154a
cmp eax, 0xcacc1961
je 0x14009c520
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x30], r10
xor r13d, r13d
mov r12, rsi
xor edi, edi
mov r9, r12
nop word [rax + rax]
mov r15, r13
nop word cs:[rax + rax]
mov eax, dword [0x14158f818]
mov edx, dword [0x14158f81c]
mov r8d, eax
not r8d
mov r10d, edx
not r10d
mov ebx, r8d
and ebx, 0x57bf3ef
and eax, 0x2840c10
or eax, ebx
or r8d, r10d
and r10d, 0x57bf3ef
and edx, 0x2840c10
or edx, r10d
xor edx, eax
not r8d
or r8d, edx
imul eax, r8d, 0x3e051827
or eax, 0xfbffdaef
cmp eax, 0x4e8d8fd9
je 0x14009c570
cmp r9, rcx
je 0x14009ce16
nop
mov eax, dword [0x14158f820]
xor edx, edx
div dword [0x14158f824]
and eax, 0x331ad500
add eax, 0xf32bff30
mov edx, eax
not edx
or eax, 0xb7a920b
or edx, 0xfc856def
and edx, eax
cmp edx, 0xb3b84d16
jb 0x14009c5d0
lea r12, [r9 + 4]
mov eax, dword [0x14158f828]
xor edx, edx
div dword [0x14158f82c]
mov eax, dword [0x14158f830]
sub eax, dword [str._oW3NF]
and eax, 0x53a8b74b
mov edx, eax
not edx
or edx, 0x454ab045
add eax, edx
add eax, 0xd48b9128
cmp eax, 0x7c4a44db
ja 0x14009c613
lea r13, [r15 + 1]
mov eax, dword [r9]
mov r9, r12
test rax, rax
je 0x14009c560
mov qword [rsp + 0x48], rcx
xor r14d, r14d
xor edx, edx
mov r9, qword [rsp + 0x30]
nop
lea r10, [r15 + rdx]
cmp r10, 0x28
jae 0x14009ce4f
nop
mov r8d, dword [0x14158f874]
add r8d, dword [0x14158f870]
mov ebx, r8d
xor ebx, 0x16141181
and ebx, r8d
or ebx, 0xe9022c7c
imul r8d, ebx, 0xb6cbebbf
cmp r8d, 0xaf722a0d
je 0x14009c670
inc rdx
mov ebx, dword [r9]
add r9, 4
mov ebp, dword [0x14158f878]
mov r8d, dword [0x14158f87c]
not ebp
not r8d
or r8d, ebp
not r8d
mov ebp, r8d
and ebp, 0x9cc42225
or r8d, 0x9cc42225
add r8d, ebp
mov ebp, r8d
not ebp
and ebp, 0x26ffe448
mov ecx, r8d
and ecx, 0xd9001bb7
imul ecx, ebp
mov ebp, r8d
and ebp, 0x26ffe448
or r8d, 0x26ffe448
imul r8d, ebp
add ecx, r8d
add ecx, 0x924246a8
cmp ecx, 0x23f2beff
jb 0x14009c7f0
nop word cs:[rax + rax]
mov r8d, dword [0x14158f880]
or r8d, dword [0x14158f884]
or r8d, 0x1ed3ccd8
mov ecx, 0xeb7d6577
sub ecx, r8d
add r8d, 0x14829a88
mov ebp, r8d
and ebp, 0x7623a1
and ecx, 0xef88dc4e
imul ecx, ebp
mov ebp, r8d
and ebp, 0xf788dc46
or r8d, 0xff88dc4e
imul r8d, ebp
add r8d, ecx
mov ebp, dword [rsp + r10*4 + 0x50]
mov rcx, rbx
imul rcx, rax
add rbp, r14
mov r11, rbp
and r11, rcx
or rbp, rcx
add rbp, r11
mov dword [rsp + r10*4 + 0x50], ebp
cmp r8d, 0x2e0760a
jb 0x14009c7f0
mov r14, rbp
shr r14, 0x20
nop dword [rax]
mov ecx, dword [0x14158f888]
mov r8d, dword [0x14158f88c]
mov r10d, ecx
not r10d
or ecx, r8d
not r8d
or r8d, r10d
and r8d, ecx
imul ecx, r8d, 0x51e483ed
add ecx, 0x5bc3084d
xor ecx, 0xd680598c
cmp ecx, 0x87b1c447
ja 0x14009c7a0
cmp r9, qword [rsp + 0x38]
jne 0x14009c660
jmp 0x14009c840
mov ecx, eax
not ecx
mov r8d, ebx
not r8d
and r8d, eax
and ecx, ebx
imul ecx, r8d
mov r8d, ebx
and r8d, eax
mov r11d, ebx
or r11d, eax
imul r11d, r8d
add r11d, ecx
mov ecx, dword [rsp + r10*4 + 0x50]
add ecx, r14d
mov r8d, ecx
and r8d, r11d
or ecx, r11d
add ecx, r8d
mov dword [rsp + r10*4 + 0x50], ecx
jmp 0x14009c720
mov rcx, qword [rsp + 0x28]
mov rax, rcx
test r14, r14
je 0x14009c8d0
mov eax, dword [0x14158f838]
xor edx, edx
div dword [0x14158f83c]
nop
mov eax, dword [0x14158f840]
and eax, dword [0x14158f844]
mov edx, eax
and edx, 0x57096296
add edx, edx
neg edx
add eax, edx
add eax, 0x8b3f3d92
imul rdx, rax, 0x279be433
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1f
cmp eax, 0x89f28432
ja 0x14009c860
movabs rdx, 0xe1210d4047f1ce0f
lea rax, [r15 + rdx]
add rax, rcx
sub rax, rdx
xor ecx, ecx
test cl, cl
jne 0x14009c8b0
cmp rax, 0x28
jae 0x14009ceea
test cl, cl
je 0x14009c930
jmp 0x14009c956
mov rcx, qword [rsp + 0x48]
nop word cs:[rax + rax]
mov edx, dword [0x14158f848]
imul edx, dword [0x14158f84c]
mov r8d, edx
xor r8d, 0x40292010
xor edx, 0x8dd48242
or r8d, 0x33465fad
and r8d, edx
lea rdx, [r15 + rax]
cmp rdi, rdx
cmova rdx, rdi
cmp r8d, 0xd82e547
je 0x14009c8e0
mov rdi, rdx
jmp 0x14009c557
mov edx, dword [0x14158f850]
imul edx, dword [0x14158f854]
imul edx, edx, 0xc3068d55
add edx, 0xa6b70948
mov dword [rsp + rax*4 + 0x50], r14d
cmp edx, 0x4ca4f442
jae 0x14009c960
mov dword [rsp + rax*4 + 0x50], r14d
jmp 0x14009c930
mov eax, dword [0x14158f858]
or eax, dword [0x14158f85c]
mov edx, eax
not edx
and edx, 0x179387d6
and eax, 0x686c7829
sub eax, edx
mov edx, eax
or edx, 0x108d2542
not eax
and eax, 0x6a00c005
and edx, 0x14ad3f5a
sub edx, eax
cmp edx, 0x95e6625d
je 0x14009c960
mov rax, qword [rsp + 0x40]
jmp 0x14009c8d0
cmp r11, 0x29
jae 0x14009cfa8
mov eax, dword [0x14158f760]
xor edx, edx
div dword [0x14158f764]
lea r8, [r10 + r8*4]
nop word cs:[rax + rax]
mov eax, dword [0x14158f768]
sub eax, dword [0x14158f76c]
xor eax, 0x530c3c99
imul eax, eax, 0x287a92f3
cmp eax, 0xde51dbd2
je 0x14009c9d0
lea rax, [rsi + r11*4]
mov qword [rsp + 0x38], rax
lea rax, [r11 + 1]
mov qword [rsp + 0x28], rax
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x14009ca10
xor ebx, ebx
xor edi, edi
nop dword [rax + rax]
mov eax, dword [0x14158f770]
add eax, dword [0x14158f774]
mov edx, eax
not edx
mov r9d, eax
and r9d, 0x63f4389c
and edx, 0x9c0bc763
imul edx, r9d
mov r9d, eax
and r9d, 0x9c0bc763
or eax, 0x9c0bc763
imul eax, r9d
add eax, edx
mov edx, eax
not edx
mov r9d, eax
and r9d, 0xed8b199f
and edx, 0x1274e660
imul edx, r9d
mov r9d, eax
and r9d, 0x1274e660
or eax, 0x1274e660
imul eax, r9d
add eax, edx
and eax, 0xbc6913c0
cmp eax, 0xbfb6d01e
ja 0x14009ca20
nop word cs:[rax + rax]
mov r14, rbx
nop word cs:[rax + rax]
mov eax, dword [0x14158f778]
xor edx, edx
div dword [0x14158f77c]
mov edx, eax
xor edx, 0x89020008
and edx, eax
or edx, 0x56e9c713
cmp edx, 0xceea0636
je 0x14009cab0
cmp r10, r8
je 0x14009ce16
nop
mov eax, dword [0x14158f780]
and eax, dword [0x14158f784]
add eax, 0x3f639081
imul rax, rax, 0x7c6894cd
shr rax, 0x3e
cmp eax, 0x64c6cc8f
ja 0x14009cae0
lea rbx, [r14 + 1]
mov r12d, dword [r10]
add r10, 4
nop
mov eax, dword [0x14158f788]
mov edx, dword [0x14158f78c]
mov r9d, eax
and r9d, edx
xor eax, edx
lea eax, [rax + r9*2]
mov edx, eax
and edx, 0x32de8e4c
add edx, edx
sub eax, edx
add eax, 0x32de8e4c
or eax, 0x16942cf9
cmp eax, 0x637a611d
je 0x14009cb10
test r12, r12
je 0x14009caa0
mov qword [rsp + 0x30], r10
xor r15d, r15d
xor r13d, r13d
mov rbp, rsi
nop dword [rax]
mov eax, dword [0x14158f798]
xor edx, edx
div dword [0x14158f79c]
imul rax, rax, 0x6d4e03cb
shr rax, 0x3d
add eax, 0x1b78f1b
and eax, 0x208c03
cmp eax, 0xba8f1551
ja 0x14009cb60
lea r9, [r14 + r13]
cmp r9, 0x28
jae 0x14009ce8d
nop dword [rax + rax]
mov eax, dword [0x14158f7e0]
xor edx, edx
div dword [0x14158f7e4]
add eax, 0x2c9ab276
xor eax, 0x88169895
and eax, 0xac37f8b5
cmp eax, 0xa5bed0d2
je 0x14009cba0
inc r13
mov edx, dword [rbp]
add rbp, 4
mov eax, dword [rsp + r9*4 + 0x50]
nop word cs:[rax + rax]
mov r10d, dword [0x14158f7ec]
mov ecx, r10d
xor ecx, r10d
not ecx
and ecx, dword [0x14158f7e8]
xor ecx, r10d
mov r10d, ecx
or r10d, 0x215d000
not ecx
and ecx, 0x9aa0208
and r10d, 0x2655d4e6
sub r10d, ecx
or r10d, 0xd5a1212e
cmp r10d, 0xbe273d75
je 0x14009cbe0
mov rcx, r12
not rcx
mov r10d, edx
and r10d, ecx
or rcx, rdx
not rcx
imul rcx, r10
mov r10d, r12d
and r10d, edx
or rdx, r12
imul rdx, r10
add rdx, rcx
add rax, r15
add rax, rdx
mov r15, rax
shr r15, 0x20
mov dword [rsp + r9*4 + 0x50], eax
cmp rbp, qword [rsp + 0x38]
jne 0x14009cb60
nop word [rax + rax]
mov eax, dword [0x14158f790]
mov edx, dword [0x14158f794]
mov r9d, edx
not r9d
mov ebp, eax
and ebp, r9d
or r9d, eax
not r9d
imul r9d, ebp
mov ebp, eax
and ebp, edx
or eax, edx
imul eax, ebp
add eax, r9d
imul rax, rax, 0x3a76163
shr rax, 0x39
cmp eax, 0x209a6306
je 0x14009cc70
mov rax, r11
test r15d, r15d
je 0x14009ce02
lea rax, [r14 + r11]
mov edx, dword [0x14158f7a0]
and edx, dword [0x14158f7a4]
add edx, 0x640f6a02
and edx, 0x301e18c
imul edx, edx, 0x643b33ac
cmp edx, 0x70eac104
ja 0x14009ccbf
nop word cs:[rax + rax]
mov edx, dword [0x14158f7a8]
mov r9d, dword [0x14158f7ac]
mov ebp, r9d
and ebp, edx
add edx, r9d
sub edx, ebp
mov r9d, edx
and r9d, 0x79b2ba2a
xor edx, 0x79b2ba2a
lea edx, [rdx + r9*2]
mov r9d, edx
not r9d
mov ebp, edx
and ebp, 0xec3b5775
and r9d, 0x13c4a88a
imul r9d, ebp
mov ebp, edx
and ebp, 0x13c4a88a
or edx, 0x13c4a88a
imul edx, ebp
add edx, r9d
imul edx, edx, 0x7b1aa1a9
cmp edx, 0x3d332ece
je 0x14009ccf0
cmp rax, 0x28
jae 0x14009cf62
mov edx, dword [0x14158f7b0]
xor edx, dword [0x14158f7b4]
add edx, 0x9af5905
and edx, 0xf1eccf4b
cmp edx, 0x5a991836
je 0x14009cd60
mov edx, dword [0x14158f7b8]
xor edx, dword [0x14158f7bc]
and edx, 0xfda12422
add edx, 0xb5c29dc2
cmp edx, 0xec365f43
jb 0x14009cdd0
mov edx, dword [0x14158f7c0]
or edx, dword [0x14158f7c4]
add edx, 0xd931a0f5
imul rdx, rdx, 0x414ce715
shr rdx, 0x3e
or edx, 0xc924dc66
mov dword [rsp + rax*4 + 0x50], r15d
cmp edx, 0xebf92154
jbe 0x14009cde0
mov dword [rsp + rax*4 + 0x50], r15d
jmp 0x14009cda0
mov eax, dword [0x14158f7c8]
sub eax, dword [0x14158f7cc]
add eax, 0xc7ba9c72
or eax, 0xe07095b6
cmp eax, 0x2b2bf91c
jb 0x14009cde0
mov rax, qword [rsp + 0x28]
add rax, r14
cmp rdi, rax
cmovbe rdi, rax
mov r10, qword [rsp + 0x30]
jmp 0x14009ca20
mov eax, dword [0x14158f898]
mov ecx, dword [0x14158f89c]
mov edx, ecx
and edx, eax
add eax, ecx
sub eax, edx
add eax, 0x4f8438c3
shr eax, 1
mov ecx, 0x8d6d5da9
imul rcx, rax
shr rcx, 0x3e
cmp ecx, 0x6ec98afe
jbe 0x14009d16e
jmp 0x14009d207
ud2
ud2
mov eax, dword [0x14158f860]
and eax, dword [0x14158f864]
mov ecx, eax
and ecx, 0x109d19eb
xor ecx, 0x2655983a
and eax, 0x108801c1
add eax, eax
sub eax, ecx
mov ecx, eax
and ecx, 0x8ddea33
add ecx, ecx
sub eax, ecx
cmp eax, 0x402ce980
jne 0x14009cf22
ud2
xor eax, eax
nop word cs:[rax + rax]
ud2
mov eax, dword [0x14158f7d0]
mov ecx, dword [0x14158f7d4]
mov edx, eax
xor edx, ecx
not edx
and edx, ecx
add edx, edx
sub ecx, edx
add ecx, eax
and ecx, 0x8610402
xor ecx, 0x8210002
cmp ecx, 0x704e671d
jbe 0x14009d083
jmp 0x14009d0b7
xor eax, eax
test al, al
je 0x14009d0bb
jmp 0x14009d107
mov eax, dword [0x14158f748]
and eax, dword [0x14158f74c]
add eax, 0x37f713a0
mov ecx, eax
xor ecx, 0x10470828
and ecx, eax
and ecx, 0xb84f48b9
cmp ecx, 0x6baa9ac1
jbe 0x14009cfe0
ud2
mov eax, dword [0x14158f754]
mov ecx, eax
xor ecx, eax
not ecx
and ecx, dword [0x14158f750]
xor ecx, eax
mov eax, ecx
not eax
and eax, 0x34532c9f
mov edx, ecx
and edx, 0xbacd360
imul edx, eax
mov eax, ecx
and eax, 0x34532c9f
or ecx, 0x34532c9f
imul ecx, eax
add ecx, edx
and ecx, 0x2995d1af
xor ecx, 0x3cd14f29
ud2
mov eax, dword [0x14158f7dc]
add eax, dword [0x14158f7d8]
imul eax, eax, 0x100f5fdf
xor eax, 0xe9ea8d5b
imul rcx, rax, 0x21f2c8f9
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1f
ud2
ud2
mov eax, dword [0x14158f7f8]
mov ecx, dword [0x14158f7fc]
not eax
not ecx
and ecx, eax
mov eax, ecx
not eax
and ecx, 0x61c38fd5
mov edx, eax
and edx, 0x9e3c702a
or edx, ecx
xor edx, 0x42786756
and eax, 0x23bbe883
or eax, edx
xor eax, 0xb7266e48
imul rax, rax, 0x3572479d
shr rax, 0x3d
ud2
ud2
mov ecx, dword [0x14158f8a0]
mov edx, dword [0x14158f8a4]
mov eax, ecx
not eax
mov r8d, edx
not r8d
mov r9d, eax
and r9d, 0x973ba8cf
and ecx, 0x68c45730
or ecx, r9d
or eax, r8d
and r8d, 0x973ba8cf
and edx, 0x68c45730
or edx, r8d
xor edx, ecx
not eax
or eax, edx
mov ebx, eax
and ebx, 0x2cd11478
mov ecx, ebx
not ecx
and ecx, 0x41b10d7
mov edx, eax
and edx, 0x28c00428
imul edx, ecx
and eax, 0x4111050
or ebx, 0x41b10d7
imul ebx, eax
add ebx, edx
not ebx
and ebx, 0x9787064d
lea rdx, [rsp + 0x50]
mov r8d, 0xa0
mov rcx, rsi
call fcn.14021bb50
mov qword [rsi + 0xa0], rdi
cmp ebx, 0xb5d23044
jbe 0x14009d226
lea rdx, [rsp + 0x50]
mov r8d, 0xa0
mov rcx, rsi
call fcn.14021bb50
mov qword [rsi + 0xa0], rdi
jmp 0x14009d16e
mov rax, rsi
add rsp, 0xf8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret