Function at 0x14009b500
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rdi, rdx
mov rsi, rcx
nop word cs:[rax + rax]
mov eax, dword [0x14158f5d8]
sub eax, dword [0x14158f5dc]
add eax, 0x42cb877d
mov ecx, eax
not ecx
or eax, 0x997a4eaf
or ecx, 0x6685b150
and ecx, eax
not ecx
imul rax, rcx, 0x593bb585
shr rax, 0x3e
cmp eax, 0x8b352a76
ja 0x14009b520
mov eax, edi
and eax, 7
nop dword [rax + rax]
mov ecx, dword [0x14158f5e0]
sub ecx, dword [0x14158f5e4]
imul ecx, ecx, 0x1523882b
mov edx, ecx
xor edx, 0x4f348daf
xor ecx, 0x40340801
and ecx, 0x70fe0a41
add ecx, ecx
sub edx, ecx
cmp edx, 0x9596bd7f
je 0x14009b560
test rax, rax
je 0x14009ba47
lea rcx, [0x141574dd8]
nop word cs:[rax + rax]
mov edx, dword [0x14158f5f0]
mov r8d, dword [0x14158f5f4]
mov r9d, r8d
not r9d
mov r10d, edx
and r10d, r9d
or r9d, edx
not r9d
imul r9d, r10d
mov r10d, edx
and r10d, r8d
or edx, r8d
imul edx, r10d
add edx, r9d
add edx, 0xf2ad0d18
not edx
or edx, 0xd1bdc9c
xor edx, 0x63260b75
cmp edx, 0x63b6f4a6
jb 0x14009b5b0
mov r9d, dword [rcx + rax*4]
mov ecx, 0x980ba5fd
nop dword [rax + rax]
mov eax, dword [0x14158f5f8]
xor edx, edx
div dword [str.ME_]
imul rax, rcx
shr rax, 0x3f
not eax
and eax, 0x4a700021
or eax, 0x8004810a
cmp eax, 0x1806b5e3
je 0x14009b610
mov rcx, qword [rsi + 0xa0]
mov eax, dword [0x14158f600]
xor edx, edx
div dword [0x14158f604]
nop
mov eax, dword [0x14158f608]
xor edx, edx
div dword [0x14158f60c]
or eax, 0x9e0a432d
imul eax, eax, 0x4921259f
or eax, 0x3f599f2c
cmp eax, 0xf95ecb1e
ja 0x14009b650
cmp rcx, 0x28
ja 0x14009b9cb
lea r8, [rsi + rcx*4]
nop word cs:[rax + rax]
mov eax, dword [0x14158f610]
add eax, dword [0x14158f614]
mov edx, eax
not edx
mov r10d, eax
or r10d, 0x9d05a717
mov r11d, r10d
and r11d, 0x3f6f79fc
and edx, 0x40900000
imul edx, r11d
and r10d, 0xc0908603
or eax, 0xdd95a717
imul eax, r10d
add eax, edx
mov edx, eax
xor edx, 0x65d708be
add edx, eax
and eax, 0x9a28f741
sub edx, eax
cmp edx, 0xd662dd81
jb 0x14009b690
mov eax, 0xc478a541
nop
mov edx, dword [0x14158f618]
mov r10d, dword [0x14158f61c]
not edx
not r10d
and r10d, edx
not r10d
or r10d, 0x4d40a85f
imul r10, rax
shr r10, 0x3e
add r10d, 0x64c8cb3e
cmp r10d, 0x8a109e24
ja 0x14009b6f0
nop word [rax + rax]
mov eax, dword [0x14158f620]
and eax, dword [0x14158f624]
mov edx, eax
and edx, 0x88541882
or eax, 0x88541882
add eax, edx
mov edx, eax
not edx
mov r10d, eax
and r10d, 0xaa86ae9
and edx, 0x15579516
imul edx, r10d
mov r10d, eax
and r10d, 0x15579516
or eax, 0x15579516
imul eax, r10d
add eax, edx
not eax
and eax, 0x1e1c560f
cmp eax, 0x90e6cde2
ja 0x14009b730
test rcx, rcx
je 0x14009b9c4
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x14009b7a0
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x14009b7b0
xor eax, eax
mov rdx, r9
not rdx
xor ebx, ebx
mov r11, rsi
nop word cs:[rax + rax]
mov r10d, dword [0x14158f640]
mov ebp, dword [0x14158f644]
mov r14d, ebp
not r14d
mov r15d, r10d
and r15d, r14d
or r14d, r10d
not r14d
imul r14d, r15d
mov r15d, r10d
and r15d, ebp
or r10d, ebp
imul r10d, r15d
add r10d, r14d
mov ebp, r10d
or ebp, 0x8e33e788
mov r14d, r10d
not r14d
and r14d, 0x41801827
mov r15d, ebp
and r15d, 0x3c7f60d8
imul r15d, r14d
and ebp, 0xc3809f27
or r10d, 0xcfb3ffaf
imul r10d, ebp
add r10d, r15d
mov ebp, r10d
xor ebp, 0xbff323bf
add ebp, r10d
and r10d, 0x400cdc40
sub ebp, r10d
cmp ebp, 0x75ed998d
jae 0x14009b8a0
mov r10d, dword [r11]
mov ebp, r9d
not ebp
mov r14d, r10d
not r14d
and ebp, r10d
and r14d, r9d
imul r14d, ebp
mov ebp, r10d
and ebp, r9d
or r10d, r9d
imul r10d, ebp
add r10d, r14d
mov r14d, r10d
and r14d, ebx
xor r10d, ebx
lea r10d, [r10 + r14*2]
mov dword [r11], r10d
nop word cs:[rax + rax]
mov r10d, dword [r11]
mov r14d, edx
and r14d, r10d
mov r15, r10
or r15, rdx
not r15
imul r15, r14
mov r14d, r9d
and r14d, r10d
or r10, r9
imul r10, r14
add r10, rbx
add r10, r15
mov dword [r11], r10d
test al, al
jne 0x14009b8a0
add r11, 4
shr r10, 0x20
mov rbx, r10
cmp r11, r8
jne 0x14009b7d0
mov eax, dword [0x14158f630]
xor edx, edx
div dword [0x14158f634]
nop word cs:[rax + rax]
mov eax, dword [0x14158f638]
mov edx, dword [0x14158f63c]
add eax, edx
add eax, 0x78b4d797
mov edx, eax
not edx
and edx, 0x12801418
mov r9d, eax
and r9d, 0x6d7febe7
imul r9d, edx
mov edx, eax
and edx, 0x12801418
or eax, 0x12801418
imul eax, edx
add eax, r9d
or eax, 0x8af2b371
cmp eax, 0xa6f5cbb3
jb 0x14009b900
test r10d, r10d
je 0x14009be13
cmp rcx, 0x27
ja 0x14009be11
mov eax, dword [0x14158f648]
mov edx, eax
not edx
or edx, dword [0x14158f64c]
add eax, edx
inc eax
not eax
or eax, 0x2f3cd102
mov edx, eax
not edx
and eax, 0x56125839
mov r9d, edx
and r9d, 0x80c126c4
imul r9d, eax
mov eax, edx
and eax, 0x50020839
or edx, 0x56125839
imul edx, eax
add edx, r9d
mov eax, edx
not eax
or eax, 0x4e564c98
or edx, 0xb1a9b367
and edx, eax
cmp edx, 0x89384d3
jae 0x14009be1f
jmp 0x14009be5f
xor ecx, ecx
jmp 0x14009be13
ud2
xor eax, eax
nop dword [rax]
test al, al
jne 0x14009ba50
nop word cs:[rax + rax]
mov eax, dword [0x14158f5e8]
xor edx, edx
div dword [0x14158f5ec]
mov ecx, eax
not ecx
mov edx, eax
and edx, 0xca2b5c48
and ecx, 0x35d4a3b7
imul ecx, edx
mov edx, eax
and edx, 0x35d4a3b7
or eax, 0x35d4a3b7
imul eax, edx
add eax, ecx
mov ecx, eax
not ecx
or eax, 0xf459b5cb
or ecx, 0xba64a34
and ecx, eax
add ecx, 0x575b4aad
cmp ecx, 0x6d39abf8
ja 0x14009ba60
test dil, 8
je 0x14009bf10
mov eax, 0xdaedbe69
nop word cs:[rax + rax]
mov ecx, dword [0x14158f668]
and ecx, dword [0x14158f66c]
imul rcx, rax
shr rcx, 0x3d
mov edx, ecx
xor edx, 1
and edx, ecx
cmp edx, 0xada45bef
je 0x14009bad0
mov rcx, qword [rsi + 0xa0]
nop word [rax + rax]
mov eax, dword [0x14158f670]
and eax, dword [0x14158f674]
add eax, 0x500770de
imul rax, rax, 0x155a109
shr rax, 0x33
cmp eax, 0xf0d6228d
je 0x14009bb00
cmp rcx, 0x28
ja 0x14009bd63
nop dword [rax]
mov eax, dword [0x14158f678]
or eax, dword [0x14158f67c]
imul rax, rax, 0x14384f83
shr rax, 0x3c
imul eax, eax, 0xbc10848b
mov edx, eax
not edx
mov r8d, eax
and r8d, 0xd8efa9a0
and edx, 0x2710565f
imul edx, r8d
mov r8d, eax
and r8d, 0x2710565f
or eax, 0x2710565f
imul eax, r8d
add eax, edx
cmp eax, 0x6050abe7
je 0x14009bb30
test rcx, rcx
je 0x14009bd21
movabs rax, 0x9e3d88773cd73d57
lea rdx, [rcx*4]
xor r9d, r9d
xor r8d, r8d
nop word cs:[rax + rax]
mov r10d, dword [rsi + r9]
imul r10, r10, 0x5f5e100
sub r10, rax
add r8, rax
add r8, r10
mov r10d, r8d
shr r8, 0x20
mov dword [rsi + r9], r10d
add r9, 4
cmp rdx, r9
jne 0x14009bbb0
nop dword [rax + rax]
mov eax, dword [0x14158f688]
xor edx, edx
div dword [0x14158f68c]
or eax, 0xae82d890
mov edx, eax
xor edx, 0x870c7739
add edx, eax
and eax, 0x78f388c6
sub edx, eax
mov eax, edx
not eax
and eax, 0xcab97d9e
mov r9d, edx
and r9d, 0x35468261
imul r9d, eax
mov eax, edx
and eax, 0xcab97d9e
or edx, 0xcab97d9e
imul edx, eax
add edx, r9d
cmp edx, 0x31cc7896
je 0x14009bbe0
test r8d, r8d
je 0x14009bd23
nop
mov eax, dword [0x14158f690]
mov edx, dword [0x14158f694]
mov r9d, edx
not r9d
mov r10d, eax
and r10d, r9d
or r9d, eax
not r9d
imul r9d, r10d
mov r10d, eax
and r10d, edx
or eax, edx
imul eax, r10d
add eax, r9d
imul eax, eax, 0xbb7f8da
add eax, 0xcae6aaa3
cmp eax, 0x89a79a0c
ja 0x14009bc40
nop word cs:[rax + rax]
mov eax, dword [0x14158f698]
or eax, dword [0x14158f69c]
add eax, 0x817b8c07
cmp eax, 0xa75c5c52
jb 0x14009bc90
cmp rcx, 0x27
ja 0x14009bd94
mov eax, dword [0x14158f6a0]
xor edx, edx
div dword [0x14158f6a4]
mov edx, eax
not edx
or edx, 0xc537645d
or eax, 0x3ac89ba2
and eax, edx
imul eax, eax, 0xfe4198cd
add eax, 0x5e7e9791
cmp eax, 0x73c47201
jae 0x14009bcf0
mov dword [rsi + rcx*4], r8d
nop word [rax + rax]
mov eax, dword [0x14158f6a8]
add eax, dword [0x14158f6ac]
imul rax, rax, 0x24359d01
shr rax, 0x3d
xor eax, 0xe80ad039
add eax, 0x8f340be0
mov dword [rsi + rcx*4], r8d
cmp eax, 0x742c7e45
jb 0x14009bcf0
inc rcx
jmp 0x14009bd23
xor ecx, ecx
mov eax, dword [0x14158f6c0]
xor eax, dword [0x14158f6c4]
mov edx, eax
and edx, 0x1df6ebb4
add edx, edx
neg edx
add eax, edx
add eax, 0x1df6ebb4
mov edx, eax
and edx, 0x5d86a46d
add edx, edx
sub eax, edx
add eax, 0xfccb5cd4
cmp eax, 0x59225e94
jae 0x14009bed9
jmp 0x14009beff
ud2
mov eax, dword [0x14158f6b0]
xor edx, edx
div dword [0x14158f6b4]
mov ecx, eax
xor ecx, 0x85bd4d0d
add ecx, eax
and eax, 0x7a42b2f2
sub ecx, eax
not ecx
and ecx, 0xc5096ba4
cmp ecx, 0x5c882d61
jne 0x14009bdc5
ud2
mov eax, dword [0x14158f6b8]
sub eax, dword [0x14158f6bc]
mov ecx, eax
not ecx
and ecx, 0x4af24819
mov edx, eax
and edx, 0xb50db7e6
imul edx, ecx
mov ecx, eax
and ecx, 0x4af24819
or eax, 0x4af24819
imul eax, ecx
add eax, edx
imul rax, rax, 0x5e6b5357
shr rax, 0x3d
add eax, 0x6bae747b
ud2
ud2
mov qword [rsi + 0xa0], rcx
jmp 0x14009ba47
mov eax, dword [0x14158f650]
mov edx, dword [0x14158f654]
mov r9d, eax
and r9d, edx
add r9d, r9d
add eax, edx
sub eax, r9d
mov edx, eax
not edx
and edx, 0x91777c02
and eax, 0x6e8883fd
sub eax, edx
imul eax, eax, 0xb348b007
add eax, 0x663d9821
mov dword [r8], r10d
cmp eax, 0x5d74dbe6
jae 0x14009be64
mov dword [r8], r10d
jmp 0x14009be1f
inc rcx
nop word [rax + rax]
mov eax, dword [0x14158f658]
and eax, dword [0x14158f65c]
mov edx, eax
and edx, 0x695bf7df
xor edx, 0x495316d2
xor eax, 0x8e004
or edx, 0xd7f70c30
and eax, 0x808e086
xor edx, 0x30311359
lea eax, [rdx + rax*2]
cmp eax, 0x8c1d245c
je 0x14009be70
nop word [rax + rax]
mov eax, dword [0x14158f664]
add eax, dword [0x14158f660]
mov edx, eax
not edx
and edx, 0xc16474eb
and eax, 0x3e9b8b14
sub eax, edx
cmp eax, 0x6111b41b
je 0x14009beb0
jmp 0x14009be13
mov eax, dword [0x14158f6c8]
xor edx, edx
div dword [0x14158f6cc]
add eax, 0x949eb431
and eax, 0x8a32b909
mov qword [rsi + 0xa0], rcx
cmp eax, 0x2380c201
jne 0x14009bf10
mov qword [rsi + 0xa0], rcx
jmp 0x14009bed9
mov eax, dword [0x14158f6d0]
mov ecx, dword [0x14158f6d4]
mov edx, eax
not edx
and edx, ecx
mov r8d, ecx
not r8d
and r8d, eax
imul r8d, edx
mov edx, eax
and edx, ecx
or eax, ecx
imul eax, edx
add eax, r8d
mov ecx, eax
xor ecx, 0xcb180600
or eax, 0x20000062
and eax, ecx
not eax
or eax, 0x14e7f99d
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0xeb000442
and eax, 0x10dc9b2c
imul eax, edx
mov edx, ecx
and edx, 0x180220
or ecx, 0x10dc9b2c
imul ecx, edx
add ecx, eax
cmp ecx, 0xfdc74e87
ja 0x14009bf10
test dil, 0x10
je 0x14009c010
lea rdx, [0x141574e28]
mov r8d, 2
mov rcx, rsi
call fcn.14009c410
nop
mov eax, dword [0x14158f6dc]
add eax, dword [0x14158f6d8]
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x5551d1ff
and ecx, 0xaaae2e00
imul ecx, edx
mov edx, eax
and edx, 0xaaae2e00
or eax, 0xaaae2e00
imul eax, edx
add eax, ecx
mov ecx, eax
not ecx
mov edx, eax
and edx, 0xeed61000
and ecx, 0x1129efba
imul ecx, edx
mov edx, eax
and edx, 0x1129ee00
or eax, 0x1129efba
imul eax, edx
add eax, ecx
cmp eax, 0x1f3601d8
je 0x14009bfa0
nop word cs:[rax + rax]
mov eax, dword [0x14158f6e0]
mov ecx, dword [0x14158f6e4]
mov edx, eax
xor edx, ecx
not edx
or eax, ecx
and eax, edx
not eax
or eax, 0x51632431
mov ecx, eax
not ecx
and eax, 0x25d3c68c
mov edx, ecx
and edx, 0xa0c1942
imul edx, eax
mov eax, ecx
and eax, 0x2490c28c
or ecx, 0x25d3c68c
imul ecx, eax
add ecx, edx
or ecx, 0xc30bf325
cmp ecx, 0x6333113c
jb 0x14009c010
nop word cs:[rax + rax]
mov eax, dword [0x14158f6e8]
sub eax, dword [0x14158f6ec]
imul rax, rax, 0x62794f77
shr rax, 0x3e
imul eax, eax, 0xfc522a62
add eax, 0x3415061f
cmp eax, 0xfd31d301
ja 0x14009c070
test dil, 0x20
je 0x14009c0d0
lea rdx, [0x141574e30]
mov r8d, 4
mov rcx, rsi
call fcn.14009c410
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x14009c0c0
nop word cs:[rax + rax]
mov eax, dword [0x14158f6f0]
xor eax, dword [0x14158f6f4]
or eax, 0x8cd30c52
imul rcx, rax, 0xef12ebf
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1e
not eax
and eax, 0x428dbf6f
cmp eax, 0x76437200
ja 0x14009c0d0
nop word cs:[rax + rax]
mov eax, dword [0x14158f6f8]
xor edx, edx
div dword [0x14158f6fc]
shr eax, 2
imul rax, rax, 0x2c14cb4d
shr rax, 0x3b
not eax
and eax, 0x17765fd1
xor eax, 0x315f3d17
imul eax, eax, 0x18293e5b
cmp eax, 0x47c43fa3
jb 0x14009c110
test dil, 0x40
je 0x14009c160
lea rdx, [0x141574e40]
mov r8d, 7
mov rcx, rsi
call fcn.14020c1f0
mov rax, rdi
not rax
or rax, 0x80
add rax, rdi
inc rax
xor ecx, ecx
nop word cs:[rax + rax]
test cl, cl
jne 0x14009c180
test rax, rax
je 0x14009c234
xor eax, eax
test al, al
je 0x14009c1a8
lea rdx, [0x141574e5c]
mov r8d, 0xe
mov rcx, rsi
call fcn.14009c410
lea rbx, [0x141574e5c]
nop
mov eax, dword [0x14158f704]
mov ebp, eax
xor ebp, eax
not ebp
and ebp, dword [0x14158f700]
xor ebp, eax
xor ebp, 0x8ac1e8e2
add ebp, 0x9540823f
mov r8d, 0xe
mov rcx, rsi
mov rdx, rbx
call fcn.14020c1f0
cmp ebp, 0xe8498a4d
ja 0x14009c1b0
nop dword [rax]
mov eax, dword [0x14158f708]
or eax, dword [0x14158f70c]
mov ecx, eax
or ecx, 0xa177ee58
mov edx, eax
not edx
and edx, 0x1e0000a6
mov r8d, ecx
and r8d, 0x618c3509
imul r8d, edx
and ecx, 0x9e73caf6
or eax, 0xbf77eefe
imul eax, ecx
add eax, r8d
cmp eax, 0xd75643a1
je 0x14009c1f0
and edi, 0x100
mov eax, 0x8b8b194f
nop
mov ecx, dword [0x14158f710]
sub ecx, dword [0x14158f714]
imul rcx, rax
shr rcx, 0x3b
mov edx, ecx
not edx
mov r8d, ecx
and r8d, 0xfffffffe
and edx, 0x2779b181
imul edx, r8d
mov r8d, ecx
and r8d, 1
or ecx, 0x2779b181
imul ecx, r8d
add ecx, edx
imul rcx, rcx, 0x5ee233dd
shr rcx, 0x3e
cmp ecx, 0x6942810
ja 0x14009c240
nop
mov eax, dword [0x14158f718]
xor eax, dword [0x14158f71c]
and eax, 0x77f9ec62
xor eax, 0x7650e060
imul eax, eax, 0xbf83f3f3
cmp eax, 0xa34a4496
je 0x14009c290
test rdi, rdi
je 0x14009c3d0
mov eax, dword [0x14158f720]
mov ecx, dword [0x14158f724]
mov edx, eax
and edx, ecx
not edx
not eax
not ecx
or ecx, eax
and ecx, edx
not ecx
and ecx, 0x3776dff
add ecx, 0x87ca8da5
and ecx, 0xfff7fff
xor ecx, 0x61e937f3
cmp ecx, 0x55329da6
jb 0x14009c375
mov ecx, dword [0x14158f728]
mov edx, dword [0x14158f72c]
mov eax, ecx
not eax
mov r8d, edx
not r8d
mov r9d, eax
and r9d, 0xd850a898
and ecx, 0x1020360
or ecx, r9d
or eax, r8d
and r8d, 0xd850a898
and edx, 0x1020360
or edx, r8d
xor edx, ecx
not eax
or eax, edx
and eax, 0xd952abf8
xor eax, 0x1000bc8
or eax, 0x26ad5406
shr eax, 1
mov edi, 0x9810cfc3
imul rdi, rax
shr rdi, 0x3e
lea rdx, [0x141574e94]
mov r8d, 0x1b
mov rcx, rsi
call fcn.14020c1f0
cmp edi, 0x8732e3f8
jne 0x14009c390
lea rdx, [0x141574e94]
mov r8d, 0x1b
mov rcx, rsi
call fcn.14009c410
jmp 0x14009c2f8
mov eax, dword [0x14158f730]
mov ecx, dword [0x14158f734]
mov edx, ecx
not edx
and edx, eax
xor ecx, eax
add ecx, eax
sub ecx, edx
add ecx, 0x6074bf7e
mov eax, ecx
and eax, 0xcdef4595
xor eax, 0x88ef4180
and ecx, 0x88ef4180
or ecx, eax
or ecx, 0x3210ba6a
cmp ecx, 0x3d71e9bd
jb 0x14009c390
mov eax, dword [0x14158f738]
sub eax, dword [0x14158f73c]
and eax, 0x2cf61d42
add eax, 0x3772384b
mov ecx, eax
and ecx, 0x39b6648d
or eax, 0xb9b6e68d
add eax, ecx
cmp eax, 0x35ead58d
ja 0x14009c3d0
mov rax, rsi
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret