Function at 0x18000e640
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rbx
sub rsp, 0x38
call fcn.18000ddcd
mov ecx, 0xd
call fcn.18000d227
mov qword [0x1800173b8], rax
mov ecx, dword [0x180018a18]
lea edx, [rcx - 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete r8b
cmp dword [0x180018a14], 0xa
setl cl
mov edx, ecx
and dl, r8b
xor cl, r8b
or cl, dl
cmp cl, 1
jne 0x18000e6b5
mov byte [rsp + 0x20], 0
mov dword [rsp + 0x24], 0x56b7e292
mov dword [rsp + 0x28], 0xaf6eb9c
mov dword [rsp + 0x2c], 0x54a9e3d7
mov dword [rsp + 0x30], 0x38c587f9
test cl, cl
jne 0x18000e6dc
mov byte [rsp + 0x20], 0
mov dword [rsp + 0x24], 0x56b7e292
mov dword [rsp + 0x28], 0xaf6eb9c
mov dword [rsp + 0x2c], 0x54a9e3d7
mov dword [rsp + 0x30], 0x38c587f9
jmp 0x18000e68c
lea rdx, [rsp + 0x24]
cmp byte [rdx - 4], 0
jne 0x18000e710
xor ecx, ecx
mov esi, dword [rsp + rcx*4 + 0x24]
mov r8d, esi
not r8d
and r8d, 0x38c587f9
and esi, 0xc73a7806
or esi, r8d
mov dword [rsp + rcx*4 + 0x24], esi
inc rcx
cmp rcx, 4
jne 0x18000e6e9
mov rcx, rax
mov r8d, 0xd
call fcn.18000ce55
mov ecx, 0xd
call fcn.18000d227
mov ecx, dword [0x180018a10]
lea edx, [rcx - 1]
imul edx, ecx
mov r8d, 0xffffffff
xor edx, r8d
or edx, 0xfffffffe
cmp edx, r8d
sete cl
cmp dword [0x180018a0c], 0xa
mov qword [0x1800173c0], rax
setl r9b
mov edx, r9d
and dl, cl
xor r9b, cl
or r9b, dl
mov esi, dword [0x1800189b8]
mov r10d, dword [0x1800189b4]
cmp r9b, 1
jne 0x18000e7bf
mov byte [rsp + 0x20], 0
lea ecx, [rsi - 1]
imul ecx, esi
mov edx, ecx
xor edx, 0xfffffffe
test edx, ecx
sete dl
cmp r10d, 0xa
setl cl
test cl, dl
jne 0x18000e79a
xor cl, dl
je 0x18000e80a
mov dword [rsp + 0x24], 0x5117880e
mov dword [rsp + 0x28], 0x252851f
mov dword [rsp + 0x2c], 0x5c0d8841
mov dword [rsp + 0x30], 0x3061ec6f
test r9b, r9b
jne 0x18000e80e
mov byte [rsp + 0x20], 0
lea ecx, [rsi - 1]
imul ecx, esi
xor ecx, r8d
or ecx, 0xfffffffe
cmp ecx, r8d
sete dl
cmp r10d, 0xa
setl cl
test cl, dl
jne 0x18000e7e5
xor cl, dl
je 0x18000e80c
mov dword [rsp + 0x24], 0x5117880e
mov dword [rsp + 0x28], 0x252851f
mov dword [rsp + 0x2c], 0x5c0d8841
mov dword [rsp + 0x30], 0x3061ec6f
jmp 0x18000e776
jmp 0x18000e80a
jmp 0x18000e80c
mov ecx, dword [0x180018970]
lea edx, [rcx - 1]
imul edx, ecx
mov ecx, 0xffffffff
xor edx, ecx
or edx, 0xfffffffe
cmp edx, ecx
setne r8b
cmp dword [0x18001896c], 9
setg dl
mov ecx, edx
xor cl, r8b
or dl, r8b
mov r8b, 1
xor dl, r8b
or dl, cl
cmp dl, r8b
jne 0x18000e851
mov cl, byte [rsp + 0x20]
test dl, dl
jne 0x18000e857
mov cl, byte [rsp + 0x20]
jmp 0x18000e849
lea rdx, [rsp + 0x24]
test cl, cl
jne 0x18000e88e
xor r8d, r8d
mov esi, dword [rsp + r8*4 + 0x24]
mov ecx, esi
not ecx
and ecx, 0x4e488175
and esi, 0xb1b77e8a
or esi, ecx
xor esi, 0x7e296d1a
mov dword [rsp + r8*4 + 0x24], esi
inc r8
cmp r8, 4
jne 0x18000e863
mov rcx, rax
mov r8d, 0xd
call fcn.18000ce55
mov ecx, 0xb
call fcn.18000d227
mov qword [0x1800173c8], rax
xor ecx, ecx
mov byte [rsp + 0x20], cl
mov dword [rsp + 0x24], 0x1e8c181c
mov dword [rsp + 0x28], 0x8c7595a
mov dword [rsp + 0x2c], 0x6ce90705
cmp byte [rsp + 0x20], cl
jne 0x18000e93e
mov ecx, dword [0x180018968]
lea edx, [rcx - 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
setne cl
cmp dword [0x180018964], 9
setg r8b
mov edx, r8d
xor dl, cl
or r8b, cl
xor r8b, 1
or r8b, dl
mov edx, 1
xor r9d, r9d
mov ecx, dword [rsp + rdx*4 + 0x20]
test r8b, r8b
je 0x18000e9aa
mov esi, ecx
not esi
and esi, 0x16878b47
and ecx, 0xe97874b8
or ecx, esi
xor ecx, 0x7a6ee02e
mov dword [rsp + rdx*4 + 0x20], ecx
inc r9
inc rdx
cmp rdx, 4
jne 0x18000e909
lea rsi, [rsp + 0x24]
mov rcx, rax
mov rdx, rsi
mov r8d, 0xb
call fcn.18000ce55
mov ecx, 0xb
call fcn.18000d227
mov qword [0x1800173d0], rax
mov byte [rsi - 4], 0
mov ecx, dword [0x1800189a8]
mov edx, dword [0x1800189a4]
lea esi, [rcx - 1]
imul esi, ecx
mov ecx, 0xffffffff
xor esi, ecx
or esi, 0xfffffffe
cmp esi, ecx
sete r9b
setne r8b
cmp edx, 0xa
setl cl
cmp edx, 9
setg dl
cmp cl, r9b
jne 0x18000e9ac
or dl, r8b
xor dl, 1
jne 0x18000e9ac
jmp 0x18000e9a8
jmp 0x18000e9aa
mov dword [rsp + 0x24], 0xfb8c908
mov dword [rsp + 0x28], 0x34a4884c
mov dword [rsp + 0x2c], 0x508ad613
cmp byte [rsp + 0x20], 0
jne 0x18000ea38
mov ecx, dword [0x180018ab8]
lea edx, [rcx - 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
setne cl
cmp dword [0x180018ab4], 9
setg r8b
mov edx, r8d
xor dl, cl
or r8b, cl
xor r8b, 1
or r8b, dl
mov edx, 1
xor r9d, r9d
mov ecx, dword [rsp + rdx*4 + 0x20]
test r8b, r8b
je 0x18000eaa5
mov esi, ecx
not esi
and esi, 0x6137940c
and ecx, 0x9ec86bf3
or ecx, esi
xor ecx, 0x31bd2e73
mov dword [rsp + rdx*4 + 0x20], ecx
inc r9
inc rdx
cmp rdx, 4
jne 0x18000ea03
lea rdx, [rsp + 0x24]
mov rcx, rax
mov r8d, 0xb
call fcn.18000ce55
mov ecx, 0xa
call fcn.18000d227
mov ecx, dword [0x180018a80]
lea edx, [rcx - 1]
imul edx, ecx
mov r9d, 0xffffffff
xor edx, r9d
or edx, 0xfffffffe
cmp edx, r9d
sete cl
cmp dword [0x180018a7c], 0xa
mov qword [0x1800173d8], rax
setl r8b
mov edx, r8d
and dl, cl
xor r8b, cl
or r8b, dl
mov esi, dword [0x1800189a0]
mov r10d, dword [0x18001899c]
cmp r8b, 1
je 0x18000eaa7
jmp 0x18000eaea
jmp 0x18000eaa5
mov byte [rsp + 0x20], 0
lea ecx, [rsi - 1]
imul ecx, esi
xor ecx, r9d
or ecx, 0xfffffffe
cmp ecx, r9d
sete cl
cmp r10d, 0xa
setl dl
test dl, cl
jne 0x18000eacd
xor dl, cl
je 0x18000eb3e
mov dword [rsp + 0x24], 0x2fbd93b4
mov dword [rsp + 0x28], 0x2fbdc9b6
mov dword [rsp + 0x2c], 0x43d9e7b6
test r8b, r8b
jne 0x18000eb40
mov byte [rsp + 0x20], 0
lea ecx, [rsi - 1]
imul ecx, esi
xor ecx, r9d
or ecx, 0xfffffffe
cmp ecx, r9d
sete cl
setne r11b
cmp r10d, 0xa
setl bl
cmp r10d, 9
setg dl
cmp bl, cl
jne 0x18000eb1f
or dl, r11b
xor dl, 1
je 0x18000eb3c
mov dword [rsp + 0x24], 0x2fbd93b4
mov dword [rsp + 0x28], 0x2fbdc9b6
mov dword [rsp + 0x2c], 0x43d9e7b6
jmp 0x18000eaa7
jmp 0x18000eb3c
jmp 0x18000eb3e
cmp byte [rsp + 0x20], 0
jne 0x18000ebc0
mov ecx, dword [0x180018ab0]
mov edx, dword [0x180018aac]
lea ebx, [rcx - 1]
imul ebx, ecx
mov ecx, 0xffffffff
xor ebx, ecx
or ebx, 0xfffffffe
cmp ebx, ecx
setne cl
sete bl
cmp edx, 9
setg r8b
cmp edx, 0xa
setl dl
xor dl, bl
or r8b, cl
xor r8b, 1
or r8b, dl
mov edx, 1
xor esi, esi
mov ecx, dword [rsp + rdx*4 + 0x20]
test r8b, r8b
je 0x18000ec31
mov ebx, ecx
not ebx
and ebx, 0x95820b88
and ecx, 0x6a7df477
or ecx, ebx
xor ecx, 0xd65bec52
mov dword [rsp + rdx*4 + 0x20], ecx
inc rsi
inc rdx
cmp rdx, 4
jne 0x18000eb8b
lea rdx, [rsp + 0x24]
mov rcx, rax
mov r8d, 0xa
call fcn.18000ce55
mov ecx, 0xc
call fcn.18000d227
mov qword [0x1800173e0], rax
mov ecx, dword [0x180018a00]
lea edx, [rcx - 1]
imul edx, ecx
mov r8d, 0xffffffff
xor edx, r8d
or edx, 0xfffffffe
cmp edx, r8d
setne cl
cmp dword [0x1800189fc], 9
setg r9b
mov edx, r9d
xor dl, cl
or r9b, cl
mov cl, 1
xor r9b, cl
or r9b, dl
mov esi, dword [0x180018a90]
mov r10d, dword [0x180018a8c]
cmp r9b, cl
je 0x18000ec33
jmp 0x18000ec74
jmp 0x18000ec31
mov byte [rsp + 0x20], 0
lea ecx, [rsi - 1]
imul ecx, esi
mov edx, ecx
xor edx, 0xfffffffe
test edx, ecx
sete cl
cmp r10d, 0xa
setl dl
test dl, cl
jne 0x18000ec57
xor dl, cl
je 0x18000ecc6
mov dword [rsp + 0x24], 0x7b61f144
mov dword [rsp + 0x28], 0x3936aa5b
mov dword [rsp + 0x2c], 0x1768f553
test r9b, r9b
jne 0x18000ecca
mov byte [rsp + 0x20], 0
lea ecx, [rsi - 1]
imul ecx, esi
xor ecx, r8d
or ecx, 0xfffffffe
cmp ecx, r8d
sete bl
setne r11b
cmp r10d, 0xa
setl dl
cmp r10d, 9
setg cl
cmp dl, bl
jne 0x18000eca9
or cl, r11b
xor cl, 1
je 0x18000ecc8
mov dword [rsp + 0x24], 0x7b61f144
mov dword [rsp + 0x28], 0x3936aa5b
mov dword [rsp + 0x2c], 0x1768f553
jmp 0x18000ec33
jmp 0x18000ecc6
jmp 0x18000ecc8
lea rdx, [rsp + 0x24]
cmp byte [rdx - 4], 0
jne 0x18000ed03
mov ecx, 1
xor r8d, r8d
mov ebx, dword [rsp + rcx*4 + 0x20]
mov esi, ebx
not esi
and esi, 0x17049937
and ebx, 0xe8fb66c8
or ebx, esi
mov dword [rsp + rcx*4 + 0x20], ebx
inc r8
inc rcx
cmp rcx, 4
jne 0x18000ecdd
mov rcx, rax
mov r8d, 0xc
call fcn.18000ce55
mov ecx, 0xc
call fcn.18000d227
mov qword [0x1800173e8], rax
mov byte [rsp + 0x20], 0
mov dword [rsp + 0x24], 0x5e9f9b82
mov dword [rsp + 0x28], 0xd4da95
mov dword [rsp + 0x2c], 0x2e8a8585
mov ecx, dword [0x180018940]
lea edx, [rcx - 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete cl
cmp dword [0x18001893c], 0xa
setl dl
mov ebx, edx
and bl, cl
xor dl, cl
or dl, bl
cmp dl, 1
jne 0x18000ed74
mov cl, byte [rsp + 0x20]
test dl, dl
jne 0x18000ed7a
mov cl, byte [rsp + 0x20]
jmp 0x18000ed6c
lea rdx, [rsp + 0x24]
test cl, cl
jne 0x18000edb1
mov ecx, 1
xor r8d, r8d
mov ebx, dword [rsp + rcx*4 + 0x20]
mov esi, ebx
not esi
and esi, 0x2ee6e9e1
and ebx, 0xd119161e
or ebx, esi
mov dword [rsp + rcx*4 + 0x20], ebx
inc r8
inc rcx
cmp rcx, 4
jne 0x18000ed8b
mov rcx, rax
mov r8d, 0xc
call fcn.18000ce55
mov ecx, 0xc
call fcn.18000d227
mov qword [0x1800173f0], rax
mov byte [rsp + 0x20], 0
mov ecx, dword [0x180018a70]
mov ebx, dword [0x180018a6c]
lea edx, [rcx - 1]
imul edx, ecx
mov ecx, 0xffffffff
xor edx, ecx
or edx, 0xfffffffe
cmp edx, ecx
setne r8b
sete cl
cmp ebx, 9
setg dl
cmp ebx, 0xa
setl bl
xor bl, cl
jne 0x18000ee14
or dl, r8b
xor dl, 1
jne 0x18000ee14
jmp 0x18000ee12
lea rdx, [rsp + 0x24]
mov dword [rdx], 0x4d68dab4
mov dword [rdx + 4], 0x146dc2a6
mov dword [rdx + 8], 0x3a68dea3
cmp byte [rdx - 4], 0
jne 0x18000ee67
mov ecx, 1
xor r8d, r8d
mov ebx, dword [rsp + rcx*4 + 0x20]
mov esi, ebx
not esi
and esi, 0xed1cab99
and ebx, 0x12e35466
or ebx, esi
xor ebx, 0xd718195e
mov dword [rsp + rcx*4 + 0x20], ebx
inc r8
inc rcx
cmp rcx, 4
jne 0x18000ee3b
mov rcx, rax
mov r8d, 0xc
call fcn.18000ce55
mov ecx, 0xc
call fcn.18000d227
mov qword [0x1800173f8], rax
mov ecx, dword [0x1800189f0]
lea edx, [rcx - 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
setne cl
cmp dword [0x1800189ec], 9
setg r8b
mov edx, r8d
xor dl, cl
or r8b, cl
mov cl, 1
xor r8b, cl
or r8b, dl
mov esi, dword [0x180018a68]
mov r10d, dword [0x180018a64]
cmp r8b, cl
jne 0x18000ef0f
mov byte [rsp + 0x20], 0
lea ecx, [rsi - 1]
imul ecx, esi
mov edx, 0xffffffff
xor ecx, edx
or ecx, 0xfffffffe
cmp ecx, edx
sete cl
cmp r10d, 0xa
setl dl
test dl, cl
jne 0x18000eef2
xor dl, cl
je 0x18000ef5f
mov dword [rsp + 0x24], 0x621b4fa6
mov dword [rsp + 0x28], 0x240552a5
mov dword [rsp + 0x2c], 0xa194ab5
test r8b, r8b
jne 0x18000ef63
mov byte [rsp + 0x20], 0
lea ecx, [rsi - 1]
imul ecx, esi
mov edx, ecx
xor edx, 0xfffffffe
test edx, ecx
sete dl
setne r9b
cmp r10d, 0xa
setl bl
cmp r10d, 9
setg cl
cmp bl, dl
jne 0x18000ef42
or cl, r9b
xor cl, 1
je 0x18000ef61
mov dword [rsp + 0x24], 0x621b4fa6
mov dword [rsp + 0x28], 0x240552a5
mov dword [rsp + 0x2c], 0xa194ab5
jmp 0x18000eec9
jmp 0x18000ef5f
jmp 0x18000ef61
mov ecx, dword [0x180018aa0]
lea edx, [rcx - 1]
imul edx, ecx
mov ecx, 0xffffffff
xor edx, ecx
or edx, 0xfffffffe
cmp edx, ecx
setne cl
cmp dword [0x180018a9c], 9
setg dl
mov ebx, edx
xor bl, cl
or dl, cl
mov cl, 1
xor dl, cl
or dl, bl
cmp dl, cl
jne 0x18000efa0
mov cl, byte [rsp + 0x20]
test dl, dl
jne 0x18000efa6
mov cl, byte [rsp + 0x20]
jmp 0x18000ef98
lea rdx, [rsp + 0x24]
test cl, cl
jne 0x18000efdd
mov ecx, 1
xor r8d, r8d
mov ebx, dword [rsp + rcx*4 + 0x20]
mov esi, ebx
not esi
and esi, 0xa7526d1
and ebx, 0xf58ad92e
or ebx, esi
mov dword [rsp + rcx*4 + 0x20], ebx
inc r8
inc rcx
cmp rcx, 4
jne 0x18000efb7
mov rcx, rax
mov r8d, 0xc
call fcn.18000ce55
mov ecx, 0xd
call fcn.18000d227
mov qword [0x180017400], rax
xor ecx, ecx
lea rdx, [rsp + 0x24]
mov byte [rdx - 4], cl
mov dword [rdx], 0x70330636
mov dword [rdx + 4], 0x23740a28
mov dword [rdx + 8], 0x7d2b0776
mov dword [rdx + 0xc], 0x11476358
cmp byte [rdx - 4], cl
jne 0x18000f051
xor ecx, ecx
mov ebx, dword [rsp + rcx*4 + 0x24]
mov esi, ebx
not esi
and esi, 0x25e6e9b1
and ebx, 0xda19164e
or ebx, esi
xor ebx, 0x34a18ae9
mov dword [rsp + rcx*4 + 0x24], ebx
inc rcx
cmp rcx, 4
jne 0x18000f028
mov rcx, rax
mov r8d, 0xd
call fcn.18000ce55
mov ecx, 0xb
call fcn.18000d227
mov qword [0x180017408], rax
mov byte [rsp + 0x20], 0
mov ecx, dword [0x180018988]
lea edx, [rcx - 1]
imul edx, ecx
mov ecx, 0xffffffff
xor edx, ecx
or edx, 0xfffffffe
cmp edx, ecx
sete cl
cmp dword [0x180018984], 0xa
setl dl
test dl, cl
jne 0x18000f0a4
xor dl, cl
jne 0x18000f0a4
jmp 0x18000f0a2
lea rdx, [rsp + 0x24]
mov dword [rdx], 0x1cb9450a
mov dword [rdx + 4], 0x1e55218
mov dword [rdx + 8], 0x65cb4a04
cmp byte [rdx - 4], 0
jne 0x18000f0f7
mov ecx, 1
xor r8d, r8d
mov ebx, dword [rsp + rcx*4 + 0x20]
mov esi, ebx
not esi
and esi, 0x6104d8d2
and ebx, 0x9efb272d
or ebx, esi
xor ebx, 0x4cffeba
mov dword [rsp + rcx*4 + 0x20], ebx
inc r8
inc rcx
cmp rcx, 4
jne 0x18000f0cb
mov rcx, rax
mov r8d, 0xb
call fcn.18000ce55
mov ecx, 0xc
call fcn.18000d227
mov ecx, dword [0x1800189e8]
lea edx, [rcx - 1]
imul edx, ecx
mov r8d, 0xffffffff
xor edx, r8d
or edx, 0xfffffffe
cmp edx, r8d
sete cl
cmp dword [0x1800189e4], 0xa
mov qword [0x180017410], rax
setl r9b
mov edx, r9d
and dl, cl
xor r9b, cl
or r9b, dl
mov r11d, dword [0x180018980]
mov esi, dword [0x18001897c]
cmp r9b, 1
jne 0x18000f1af
mov byte [rsp + 0x20], 0
lea edx, [r11 - 1]
imul edx, r11d
xor edx, r8d
or edx, 0xfffffffe
cmp edx, r8d
setne r10b
sete bl
cmp esi, 9
setg dl
cmp esi, 0xa
setl cl
xor cl, bl
jne 0x18000f192
or dl, r10b
xor dl, 1
je 0x18000f1ff
mov dword [rsp + 0x24], 0xe2306ac
mov dword [rsp + 0x28], 0x52301bbc
mov dword [rsp + 0x2c], 0x7c2a19bd
test r9b, r9b
jne 0x18000f203
mov byte [rsp + 0x20], 0
lea ecx, [r11 - 1]
imul ecx, r11d
mov edx, ecx
xor edx, 0xfffffffe
test edx, ecx
sete cl
setne r10b
cmp esi, 0xa
setl bl
cmp esi, 9
setg dl
cmp bl, cl
jne 0x18000f1e2
or dl, r10b
xor dl, 1
je 0x18000f201
mov dword [rsp + 0x24], 0xe2306ac
mov dword [rsp + 0x28], 0x52301bbc
mov dword [rsp + 0x2c], 0x7c2a19bd
jmp 0x18000f15d
jmp 0x18000f1ff
jmp 0x18000f201
cmp byte [rsp + 0x20], 0
jne 0x18000f270
mov ecx, dword [0x180018918]
lea edx, [rcx - 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
setne cl
cmp dword [0x180018914], 9
setg r8b
mov edx, r8d
xor dl, cl
or r8b, cl
xor r8b, 1
or r8b, dl
mov edx, 1
xor esi, esi
mov ecx, dword [rsp + rdx*4 + 0x20]
test r8b, r8b
je 0x18000f304
mov ebx, ecx
not ebx
and ebx, 0x7c4675d9
and ecx, 0x83b98a26
or ecx, ebx
mov dword [rsp + rdx*4 + 0x20], ecx
inc rsi
inc rdx
cmp rdx, 4
jne 0x18000f241
lea rsi, [rsp + 0x24]
mov rcx, rax
mov rdx, rsi
mov r8d, 0xc
call fcn.18000ce55
mov ecx, 0xa
call fcn.18000d227
mov qword [0x180017420], rax
xor ecx, ecx
mov byte [rsi - 4], cl
lea rdx, [rsp + 0x24]
mov dword [rdx], 0x468795ff
mov dword [rdx + 4], 0x1986d7a2
mov dword [rdx + 8], 0x75e2f9fc
cmp byte [rdx - 4], cl
jne 0x18000f2ee
mov ecx, 1
xor r8d, r8d
mov ebx, dword [rsp + rcx*4 + 0x20]
mov esi, ebx
not esi
and esi, 0x5603b0d0
and ebx, 0xa9fc4f2f
or ebx, esi
xor ebx, 0x23e14940
mov dword [rsp + rcx*4 + 0x20], ebx
inc r8
inc rcx
cmp rcx, 4
jne 0x18000f2c2
mov rcx, rax
mov r8d, 0xa
call fcn.18000ce55
nop
add rsp, 0x38
pop rbx
pop rsi
ret
jmp 0x18000f304