Function at 0x140002970
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rsi, r8
mov rdi, rdx
nop word cs:[rax + rax]
mov eax, dword [0x141dbf368]
sub eax, dword [0x141dbf36c]
or eax, 0x2a732a20
imul eax, eax, 0xc06ce5a8
add eax, 0xd4865740
cmp eax, 0xbd2928e5
ja 0x140002990
nop word cs:[rax + rax]
mov eax, dword [0x141dbf370]
imul eax, dword [0x141dbf374]
imul eax, eax, 0xc4ad2af2
or eax, 0x7487036f
imul eax, eax, 0x5b9343e8
cmp eax, 0x191f154
je 0x1400029c0
test rsi, rsi
je 0x14000343b
mov rbx, qword [rcx]
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x140002a00
xor r13d, r13d
lea r14, [0x141db9d74]
lea r15, [0x141db9e28]
mov r12d, 0x9cd1ae33
nop dword [rax + rax]
mov eax, dword [0x141dbf378]
sub eax, dword [0x141dbf37c]
add eax, 0x2a58ed92
or eax, 0xfeedbfff
cmp eax, 0x2830bec1
jb 0x140002e00
nop word cs:[rax + rax]
mov eax, dword [0x141dbf380]
xor edx, edx
div dword [0x141dbf384]
imul ebp, eax, 0x36fb090c
add ebp, 0x52e5a99c
mov rcx, rbx
mov rdx, rdi
mov r8, rsi
call fcn.140087980
cmp ebp, 0x68690135
jb 0x140002e00
mov rcx, rdx
test rax, rax
je 0x140002e20
mov r8d, ecx
and r8d, 3
cmp r8, 3
ja case.default.0x140002aa8
movsxd rax, dword [r14 + r8*4]
add rax, r14
jmp rax
mov eax, dword [0x141dbf458]
sub eax, dword [0x141dbf45c]
and eax, 0x7332f0c8
cmp eax, 0xa5b7b9be
je case.0x140002aa8.0
movzx edx, byte [rcx + 0x10]
nop dword [rax]
mov eax, dword [0x141dbf460]
add eax, dword [0x141dbf464]
xor eax, 0x10608204
or eax, 0x6e1f75b3
cmp eax, 0x1f2f81fc
jb 0x140002ad0
jmp 0x140002b60
mov eax, dword [0x141dbf468]
imul eax, dword [0x141dbf46c]
add eax, 0x84931d48
imul rax, r12
shr rax, 0x3e
cmp eax, 0x6d7a20b3
je case.0x140002aa8.1
mov eax, dword [0x141dbf470]
imul eax, dword [0x141dbf474]
or eax, 0xdede7e5f
add eax, 0xba8a43cb
cmp eax, 0xcb170b3f
ja 0x140002b11
mov eax, dword [0x141dbf478]
add eax, dword [0x141dbf47c]
mov edx, 0xdfdae235
imul rax, rdx
shr rax, 0x3c
movzx edx, byte [rcx + 0xf]
cmp eax, 0xa10a67ee
je 0x140002b2f
nop word cs:[rax + rax]
mov eax, dword [0x141dbf480]
and eax, dword [0x141dbf484]
xor eax, 0xda9b1bc3
imul eax, eax, 0x112a3f8b
cmp eax, 0x356f2ef2
je 0x140002b60
cmp dl, 0x23
jne case.0x140002aa8.2
nop word [rax + rax]
mov eax, dword [0x141dbf488]
and eax, dword [0x141dbf48c]
imul eax, eax, 0xb8988ea7
add eax, 0x43695ba7
cmp eax, 0x38e16929
jb 0x140002b90
movsxd rax, dword [r15 + r8*4]
add rax, r15
jmp rax
mov rcx, rbx
mov rdx, rdi
mov r8, rsi
call fcn.140087980
jmp 0x140002a50
mov eax, dword [0x141dbf388]
xor edx, edx
div dword [0x141dbf38c]
mov eax, dword [0x141dbf390]
xor edx, edx
div dword [0x141dbf394]
or eax, 0x7a427770
imul eax, eax, 0xde755c0c
xor eax, 0xb55a1a63
cmp eax, 0xee695587
ja 0x140002e2e
nop word cs:[rax + rax]
mov eax, dword [0x141dbf398]
add eax, dword [0x141dbf39c]
and eax, 0x56214c8
cmp eax, 0x7008b5e0
je 0x140002e60
test rcx, rcx
je 0x140003487
sub rsi, rcx
jb 0x140003485
nop word [rax + rax]
mov eax, dword [0x141dbf450]
sub eax, dword [0x141dbf454]
or eax, 0x577efe30
add eax, 0x6dacc96f
xor eax, 0x3ffbe0d
cmp eax, 0x776962f3
jae 0x140002e90
add rdi, rcx
jmp 0x140003400
mov eax, dword [0x141dbf3a8]
xor edx, edx
div dword [0x141dbf3ac]
mov eax, dword [0x141dbf3b0]
imul eax, dword [0x141dbf3b4]
and eax, 0xd580808
xor eax, 0x5a6538bc
cmp eax, 0x968953e9
ja 0x140002ece
mov rax, rcx
shr rax, 0x20
nop word cs:[rax + rax]
mov edx, dword [0x141dbf3b8]
imul edx, dword [0x141dbf3bc]
imul rdx, rdx, 0x2c839535
shr rdx, 0x3d
or edx, 0x47966a04
cmp edx, 0xce92b3e3
ja 0x140002f00
nop word cs:[rax + rax]
mov edx, dword [0x141dbf3c0]
add edx, dword [0x141dbf3c4]
imul edx, edx, 0x98887947
add edx, 0x11815cde
and edx, 0x39969615
cmp edx, 0x4ae9fdd6
ja 0x140002f30
cmp eax, 0x28
ja case.default.0x140002f6b
mov eax, eax
lea rdx, [0x141db9d84]
movsxd rax, dword [rdx + rax*4]
add rax, rdx
jmp rax
xor edx, edx
jmp 0x140002b60
mov eax, dword [0x141dbf448]
or eax, dword [0x141dbf44c]
add eax, 0x79213a3c
and eax, 0x1efe7b46
mov dl, 0x29
cmp eax, 0x8b4473f7
je case.default.0x140002f6b
jmp 0x140002b60
mov eax, dword [0x141dbf3c8]
xor eax, dword [0x141dbf3cc]
add eax, 0xd3b0441e
imul rax, rax, 0x7fecb331
shr rax, 0x3e
mov dl, 1
cmp eax, 0xb3fe90a8
jae case.0x140002f6b.1
jmp 0x140002b60
mov dl, 2
mov al, 1
test al, al
je case.0x140002f6b.2
jmp 0x140002b60
mov eax, dword [0x141dbf3d0]
sub eax, dword [0x141dbf3d4]
mov edx, 0x86244d5d
imul rdx, rax
shr rdx, 0x3d
imul eax, edx, 0xa61c9310
add eax, 0xbce83790
mov dl, 5
cmp eax, 0x9c1e4696
jbe case.0x140002f6b.5
jmp 0x140002b60
mov eax, dword [0x141dbf3d8]
imul eax, dword [0x141dbf3dc]
add eax, 0x221a5eab
or eax, 0x76cf65f5
mov dl, 6
cmp eax, 0x18eb2084
je case.0x140002f6b.6
jmp 0x140002b60
mov dl, 8
xor eax, eax
test al, al
jne case.0x140002f6b.8
jmp 0x140002b60
mov eax, dword [0x141dbf3e0]
xor edx, edx
div dword [0x141dbf3e4]
add eax, 0xb0b5edc2
xor eax, 0x4bd8975
imul eax, eax, 0xeafbc8f9
mov dl, 0xb
cmp eax, 0x2bc95286
jb case.0x140002f6b.11
jmp 0x140002b60
mov eax, dword [0x141dbf3e8]
xor edx, edx
div dword [0x141dbf3ec]
and eax, 0x4600228
add eax, 0xbb7aa536
mov dl, 0xc
cmp eax, 0x9ed9c591
jb case.0x140002f6b.12
jmp 0x140002b60
mov eax, dword [0x141dbf3f0]
and eax, dword [0x141dbf3f4]
add eax, 0x63a3c94d
shr eax, 5
imul rax, rax, 0x80687dd
shr rax, 0x34
or eax, 0xc16aa008
mov dl, 0xf
cmp eax, 0xe3ca141d
jae case.0x140002f6b.15
jmp 0x140002b60
mov eax, dword [0x141dbf3f8]
add eax, dword [0x141dbf3fc]
imul eax, eax, 0x43d418c6
add eax, 0x8e3467fa
mov dl, 0x12
cmp eax, 0x28a65ea0
jb case.0x140002f6b.18
jmp 0x140002b60
mov eax, dword [0x141dbf400]
imul eax, dword [0x141dbf404]
mov dl, 0x14
cmp eax, 0x6d483bca
je case.0x140002f6b.20
jmp 0x140002b60
mov eax, dword [0x141dbf408]
or eax, dword [0x141dbf40c]
imul eax, eax, 0xb0fecf23
add eax, 0x250034db
mov r9d, 0xdef9c0d5
imul r9, rax
shr r9, 0x3e
mov dl, 0x15
cmp r9d, 0x5ff41a86
jae case.0x140002f6b.21
jmp 0x140002b60
mov eax, dword [0x141dbf410]
sub eax, dword [0x141dbf414]
xor eax, 0xe5d2f2f0
add eax, 0x7090782a
mov dl, 0x18
cmp eax, 0xccadf4c9
jb case.0x140002f6b.24
jmp 0x140002b60
mov eax, dword [0x141dbf418]
or eax, dword [0x141dbf41c]
and eax, 0x4e34fe97
imul eax, eax, 0x11ec77c9
mov dl, 0x19
cmp eax, 0xea65c7ae
je case.0x140002f6b.25
jmp 0x140002b60
mov eax, dword [0x141dbf420]
or eax, dword [0x141dbf424]
and eax, 0xfccc9645
mov dl, 0x1b
cmp eax, 0xfe512079
je case.0x140002f6b.27
jmp 0x140002b60
mov eax, dword [0x141dbf428]
and eax, dword [0x141dbf42c]
or eax, 0x2724807e
and eax, 0xf734847e
mov dl, 0x1c
cmp eax, 0x602e6f2f
je case.0x140002f6b.28
jmp 0x140002b60
mov eax, dword [0x141dbf430]
sub eax, dword [0x141dbf434]
or eax, 0x3a933c6b
imul eax, eax, 0x87b68227
xor eax, 0x337beac1
mov dl, 0x1d
cmp eax, 0xf4d6ff2d
ja case.0x140002f6b.29
jmp 0x140002b60
mov eax, dword [0x141dbf438]
or eax, dword [0x141dbf43c]
imul eax, eax, 0x622cc608
imul rax, rax, 0x21102115
shr rax, 0x3c
mov dl, 0x1e
cmp eax, 0x3f949967
ja case.0x140002f6b.30
jmp 0x140002b60
mov eax, dword [0x141dbf440]
and eax, dword [0x141dbf444]
imul eax, eax, 0x60dedf07
add eax, 0xe104f4aa
and eax, 0xed0a297c
mov dl, 0x1f
cmp eax, 0x72004b34
je case.0x140002f6b.31
jmp 0x140002b60
mov dl, 3
jmp 0x140002b60
mov dl, 4
jmp 0x140002b60
mov dl, 7
jmp 0x140002b60
mov dl, 9
jmp 0x140002b60
mov dl, 0xa
jmp 0x140002b60
mov dl, 0xd
jmp 0x140002b60
mov dl, 0xe
jmp 0x140002b60
mov dl, 0x10
jmp 0x140002b60
mov dl, 0x11
jmp 0x140002b60
mov dl, 0x13
jmp 0x140002b60
mov dl, 0x16
jmp 0x140002b60
mov dl, 0x17
jmp 0x140002b60
mov dl, 0x1a
jmp 0x140002b60
mov dl, 0x20
jmp 0x140002b60
mov dl, 0x21
jmp 0x140002b60
mov dl, 0x22
jmp 0x140002b60
mov dl, 0x23
jmp 0x140002b60
mov dl, 0x24
jmp 0x140002b60
mov dl, 0x25
jmp 0x140002b60
mov dl, 0x26
jmp 0x140002b60
mov dl, 0x27
jmp 0x140002b60
mov dl, 0x28
jmp 0x140002b60
mov eax, dword [0x141dbf500]
xor eax, dword [0x141dbf504]
imul rcx, rax, 0x7e4bb60d
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1b
or eax, 0xcea0470d
imul eax, eax, 0xc4e21d31
cmp eax, 0x76763d55
je 0x140003400
test rsi, rsi
jne 0x140002a20
xor ecx, ecx
mov rax, rcx
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov eax, dword [0x141dbf3a0]
xor edx, edx
div dword [0x141dbf3a4]
or eax, 0x2547fd05
imul eax, eax, 0x611ace5c
and eax, 0x6d05e80c
cmp eax, 0xce35e094
ja case.default.0x140002aa8
ud2
lea rcx, [0x141db92c0]
jmp case.0x140002aa8.2