Function at 0x140002aa0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x38
mov rsi, r8
mov rdi, rdx
xor eax, eax
nop dword [rax + rax]
test al, al
jne 0x140002ac0
test rsi, rsi
je 0x140003488
mov rbx, qword [rcx]
mov eax, dword [0x141f2c3f0]
add eax, dword [0x141f2c3f4]
or eax, 0xa6d2a969
imul eax, eax, 0x177c98dd
cmp eax, 0x28219feb
je 0x140002ad0
xor r13d, r13d
mov r14d, 0xcd1a3039
lea r15, [0x141f26264]
mov ebp, 0xb1b06d97
mov r12d, 0x8627cc75
mov qword [rsp + 0x28], rbx
jmp 0x140002b19
test rsi, rsi
je 0x140003488
mov rcx, rbx
mov rdx, rdi
mov r8, rsi
call fcn.14008d490
mov rcx, rdx
test rax, rax
je 0x140002b80
mov r8d, ecx
and r8d, 3
cmp r8, 3
ja case.default.0x140002b47
movsxd rax, dword [r15 + r8*4]
add rax, r15
jmp rax
mov eax, dword [0x141f2c4d8]
xor edx, edx
div dword [0x141f2c4dc]
imul eax, eax, 0x448b81ee
or eax, 0xc72625bd
cmp eax, 0xeeb2aac4
ja case.0x140002b47.0
movzx r9d, byte [rcx + 0x10]
jmp 0x1400030b0
mov eax, dword [0x141f2c3f8]
and eax, dword [0x141f2c3fc]
and eax, 0xac4c6ba4
cmp eax, 0xb25bbf7
je 0x140002b80
test rcx, rcx
je 0x14000349e
nop word cs:[rax + rax]
mov eax, dword [0x141f2c498]
xor edx, edx
div dword [0x141f2c49c]
imul eax, eax, 0xc5b4a397
and eax, 0xd6b253bc
add eax, 0x97711b6e
cmp eax, 0x3970b7c9
ja 0x140002bb0
nop word cs:[rax + rax]
mov eax, dword [0x141f2c4a0]
mov edx, dword [0x141f2c4a4]
add eax, edx
add eax, 0xe29f6c3f
or eax, 0xffbffbbb
cmp eax, 0x4fa22830
jb 0x140002be0
sub rsi, rcx
jb 0x1400034a7
mov eax, dword [0x141f2c4c0]
or eax, dword [0x141f2c4c4]
imul rax, rax, 0x1b15d9cb
shr rax, 0x38
add eax, 0x3243539c
and eax, 0x1200531a
cmp eax, 0xcd4d6c70
ja 0x140002c08
mov edx, dword [0x141f2c4c8]
add edx, dword [0x141f2c4cc]
xor edx, 0x907d526e
imul rdx, r14
shr rdx, 0x3e
lea rax, [rdi + rcx]
cmp edx, 0xac2cbfd1
je 0x140002c30
mov rdi, rax
jmp case.0x140003112.0
mov eax, dword [0x141f2c4e0]
sub eax, dword [0x141f2c4e4]
imul rax, rax, 0x12574cd9
shr rax, 0x3a
xor eax, 0xe27dd1bb
imul eax, eax, 0x9c3f91e5
cmp eax, 0x32de0491
je case.0x140002b47.1
nop dword [rax]
test r13b, r13b
jne 0x140002c90
movzx r9d, byte [rcx + 0xf]
jmp 0x1400030b0
mov rax, rcx
shr rax, 0x20
cmp eax, 0x28
ja case.default.0x140002cbe
lea rdx, [0x141f26274]
movsxd rax, dword [rdx + rax*4]
add rax, rdx
jmp rax
xor r9d, r9d
jmp 0x140003080
mov eax, dword [0x141f2c480]
and eax, dword [0x141f2c484]
mov r9b, 0x25
cmp eax, 0xbb9079c4
je case.0x140002cbe.37
jmp 0x140003080
mov eax, dword [0x141f2c488]
sub eax, dword [0x141f2c48c]
and eax, 0x4221e544
mov r9b, 0x24
cmp eax, 0xbf76b25f
je case.0x140002cbe.36
jmp 0x140003080
mov eax, dword [0x141f2c430]
mov edx, dword [0x141f2c434]
add eax, edx
add eax, 0xbdc208ba
xor eax, 0x6c77f7ac
imul eax, eax, 0xd322b23d
mov r9b, 0xe
cmp eax, 0x50560c2c
jb case.0x140002cbe.14
jmp 0x140003080
mov eax, dword [0x141f2c478]
and eax, dword [0x141f2c47c]
or eax, 0x5903ede3
add eax, 0x123d0c22
and eax, 0xc72ca228
mov r9b, 0x21
cmp eax, 0x5fe032d0
jbe case.0x140002cbe.33
jmp 0x140003080
mov eax, dword [0x141f2c408]
or eax, dword [0x141f2c40c]
xor eax, 0x58240801
and eax, 0x5abf4869
add eax, 0x3ac66eea
mov r9b, 4
cmp eax, 0xeef28820
ja case.0x140002cbe.4
jmp 0x140003080
mov eax, dword [0x141f2c428]
imul eax, dword [0x141f2c42c]
imul eax, eax, 0x5bab7719
add eax, 0x1f673507
or eax, 0x67202d
mov r9b, 0xc
cmp eax, 0x8fd40751
ja case.0x140002cbe.12
jmp 0x140003080
mov eax, dword [0x141f2c438]
or eax, dword [0x141f2c43c]
or eax, 0x94a60905
and eax, 0x94a6df95
imul eax, eax, 0x84a846a7
mov r9b, 0xf
cmp eax, 0xdcbaf654
jae case.0x140002cbe.15
jmp 0x140003080
mov eax, dword [0x141f2c470]
xor eax, dword [0x141f2c474]
add eax, 0xd5261029
xor eax, 0xf939fa8
mov r9b, 0x1f
cmp eax, 0xb7e7a46c
jae case.0x140002cbe.31
jmp 0x140003080
mov eax, dword [0x141f2c440]
imul eax, dword [0x141f2c444]
add eax, 0xfd28e4c7
xor eax, 0x1dfc0681
mov r9b, 0x11
cmp eax, 0x41c55930
jb case.0x140002cbe.17
jmp 0x140003080
mov eax, dword [0x141f2c490]
imul eax, dword [0x141f2c494]
xor eax, 0x40000080
or eax, 0x22504
and eax, 0x4f823784
mov r9b, 0x29
cmp eax, 0x3b6ac8d0
jae case.default.0x140002cbe
jmp 0x140003080
mov eax, dword [0x141f2c410]
xor eax, dword [0x141f2c414]
and eax, 0x5cb31190
add eax, 0x9810b4c8
mov r9b, 5
cmp eax, 0xe093c030
jbe case.0x140002cbe.5
jmp 0x140003080
mov eax, dword [str.__Q]
sub eax, dword [0x141f2c45c]
add eax, 0xc4116890
or eax, 0x2635b8c7
mov r9b, 0x14
cmp eax, 0x87f5fdf7
je case.0x140002cbe.20
jmp 0x140003080
mov eax, dword [0x141f2c418]
and eax, dword [0x141f2c41c]
add eax, 0x5c0102c4
and eax, 0x54e8a2e2
add eax, 0xbc07eca7
mov r9b, 6
cmp eax, 0x35acd229
jbe case.0x140002cbe.6
jmp 0x140003080
mov eax, dword [0x141f2c448]
add eax, dword [0x141f2c44c]
mov r9b, 0x12
cmp eax, 0x9783da1f
je case.0x140002cbe.18
jmp 0x140003080
mov eax, dword [0x141f2c420]
or eax, dword [0x141f2c424]
and eax, 0x523bee00
xor eax, 0x4be0686e
add eax, 0x5bd94a2a
mov r9b, 8
cmp eax, 0x32139ba5
jbe case.0x140002cbe.8
jmp 0x140003080
mov r9b, 0x1e
xor eax, eax
test al, al
jne case.0x140002cbe.30
jmp 0x140003080
mov eax, dword [0x141f2c450]
or eax, dword [0x141f2c454]
mov r9b, 0x13
cmp eax, 0x9f4640bb
je case.0x140002cbe.19
jmp 0x140003080
mov eax, dword [0x141f2c460]
sub eax, dword [0x141f2c464]
xor eax, 0xc58210d1
or eax, 0x3825ea0e
imul eax, eax, 0x1aa913f7
mov r9b, 0x17
cmp eax, 0xf20e1e9f
jae case.0x140002cbe.23
jmp 0x140003080
mov eax, dword [0x141f2c468]
or eax, dword [0x141f2c46c]
add eax, 0x7101f643
imul rdx, rax, 0x3971b9fd
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1f
imul eax, eax, 0xa866cea2
mov r9b, 0x1a
cmp eax, 0xd45c9de
jae case.0x140002cbe.26
jmp 0x140003080
mov r9b, 0x10
jmp 0x140003080
mov r9b, 0x1b
jmp 0x140003080
mov r9b, 0x22
jmp 0x140003080
mov r9b, 0x23
jmp 0x140003080
mov r9b, 1
jmp 0x140003080
mov r9b, 2
jmp 0x140003080
mov r9b, 3
jmp 0x140003080
mov r9b, 7
jmp 0x140003080
mov r9b, 9
jmp 0x140003080
mov r9b, 0xa
jmp 0x140003080
mov r9b, 0xb
jmp 0x140003080
mov r9b, 0xd
jmp 0x140003080
mov r9b, 0x15
jmp 0x140003080
mov r9b, 0x18
jmp 0x140003080
mov r9b, 0x19
jmp 0x140003080
mov r9b, 0x20
jmp 0x140003080
mov r9b, 0x28
jmp 0x140003080
mov r9b, 0x16
jmp 0x140003080
mov r9b, 0x1c
jmp 0x140003080
mov r9b, 0x1d
jmp 0x140003080
mov r9b, 0x26
jmp 0x140003080
mov r9b, 0x27
nop word cs:[rax + rax]
mov eax, dword [0x141f2c4d0]
xor edx, edx
div dword [0x141f2c4d4]
imul rax, r12
shr rax, 0x3e
imul eax, eax, 0x9e0aad3a
add eax, 0xe68c5926
cmp eax, 0x2463bb74
jbe 0x140003080
nop dword [rax + rax]
mov eax, dword [0x141f2c4e8]
or eax, dword [0x141f2c4ec]
or eax, 0x6150225e
imul eax, eax, 0x529c9107
or eax, 0x280625e9
cmp eax, 0xdf152c97
ja 0x1400030b0
cmp r9b, 0x23
jne case.0x140002b47.2
nop dword [rax]
mov eax, dword [0x141f2c4f0]
imul eax, dword [0x141f2c4f4]
imul eax, eax, 0x1b5c3b08
cmp eax, 0x12113d93
je 0x1400030e0
cmp r8, 3
ja case.default.0x140003112
lea rdx, [0x141f26318]
movsxd rax, dword [rdx + r8*4]
add rax, rdx
jmp rax
mov eax, dword [0x141f2c500]
xor edx, edx
div dword [0x141f2c504]
mov edx, 0x8df06a63
mov eax, dword [0x141f2c508]
sub eax, dword [0x141f2c50c]
imul rax, rdx
shr rax, 0x3f
imul eax, eax, 0x36405d8
cmp eax, 0x94fe7b4b
ja 0x140003127
mov rax, rcx
dec rax
mov qword [rsp + 0x30], rax
mov r15, qword [rcx - 1]
mov rbx, qword [rcx + 7]
mov r14, qword [rbx]
mov eax, dword [0x141f2c510]
xor edx, edx
div dword [0x141f2c514]
mov eax, dword [0x141f2c518]
add eax, dword [0x141f2c51c]
or eax, 0xda0849d5
xor eax, 0xafb1efc6
mov ecx, 0xfa1c4e4d
imul rax, rcx
shr rax, 0x3a
cmp eax, 0x87bbea90
ja 0x14000316c
test r14, r14
je 0x1400031db
mov eax, dword [0x141f2c520]
and eax, dword [0x141f2c524]
or eax, 0x7febd646
imul eax, eax, 0x578dca94
or eax, 0xb6fe4559
cmp eax, 0x32382eff
jne 0x1400031d0
mov rcx, r15
call r14
nop word cs:[rax + rax]
mov rcx, r15
call r14
test r13b, r13b
jne 0x1400031d0
mov eax, dword [0x141f2c528]
xor edx, edx
div dword [0x141f2c52c]
mov r14d, 0xcd1a3039
nop
mov eax, dword [0x141f2c530]
sub eax, dword [0x141f2c534]
imul eax, eax, 0xe737f901
cmp eax, 0x6f66881d
je 0x1400031f0
mov rcx, qword [rbx + 8]
mov rax, qword [rbx + 0x10]
nop word cs:[rax + rax]
mov edx, dword [0x141f2c538]
or edx, dword [0x141f2c53c]
add edx, 0xa1e416bd
xor edx, 0x7a5b16b1
add edx, 0x8f6f74a5
cmp edx, 0x8d569fc8
ja 0x140003220
test rcx, rcx
je 0x14000339b
mov edx, 0x972d33a5
mov ecx, dword [0x141f2c540]
sub ecx, dword [0x141f2c544]
xor ecx, 0xd78f09e2
imul rcx, rdx
shr rcx, 0x3f
add ecx, 0x3941bc7b
cmp ecx, 0x2f268409
jb 0x140003254
nop dword [rax]
mov ecx, dword [0x141f2c548]
xor ecx, dword [0x141f2c54c]
and ecx, 0x6ba10891
xor ecx, 0x4f87cf02
imul ecx, ecx, 0x2fba123c
cmp ecx, 0x45800ea
jb 0x140003280
cmp rax, 0x11
jb 0x14000332d
mov eax, dword [0x141f2c550]
and eax, dword [0x141f2c554]
imul eax, eax, 0x2a1ffb94
and eax, 0x94803e68
add eax, 0x3027b04e
cmp eax, 0x9a3f51a5
jb 0x1400032b0
nop word cs:[rax + rax]
mov eax, dword [0x141f2c558]
imul eax, dword [0x141f2c55c]
xor eax, 0x209c0900
and eax, 0x219c0de0
cmp eax, 0x73990fe8
je 0x1400032e0
mov r15, qword [r15 - 8]
nop word cs:[rax + rax]
mov eax, dword [0x141f2c560]
and eax, dword [0x141f2c564]
add eax, 0x7dc655c1
and eax, 0xaa274b1d
cmp eax, 0x57c81dbe
ja 0x140003310
mov eax, dword [0x141f2c568]
and eax, dword [0x141f2c56c]
xor eax, 0x90000000
and eax, 0x90a00040
cmp eax, 0xf81db0f9
jbe 0x140003360
jmp 0x14000340e
test r13b, r13b
jne case.0x140003112.3
jmp case.0x140003112.0
mov eax, dword [0x141f2c570]
sub eax, dword [0x141f2c574]
and eax, 0x3643e5c7
add eax, 0xc4f41479
imul rbx, rax, 0x6cc1b4d9
shr rbx, 0x3e
mov rcx, qword [0x141f49060]
xor edx, edx
mov r8, r15
call qword [sym.imp.KERNEL32.dll_HeapFree]
cmp ebx, 0xb9e70b2e
je 0x14000340e
mov eax, dword [0x141f2c578]
xor eax, dword [0x141f2c57c]
and eax, 0x44196046
cmp eax, 0xd3b4f484
jne 0x1400033ba
mov rax, qword [0x141f49060]
mov rbx, qword [rsp + 0x28]
lea r15, [0x141f26264]
nop word cs:[rax + rax]
mov eax, dword [0x141f2c580]
or eax, dword [0x141f2c584]
or eax, 0x262ae73e
add eax, 0x773b487
imul rax, rbp
shr rax, 0x3f
mov rcx, qword [0x141f49060]
cmp eax, 0xf717f
je 0x1400033d0
xor edx, edx
mov r8, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp case.0x140003112.0
mov rcx, qword [0x141f49060]
xor edx, edx
mov r8, r15
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x140003360
mov eax, dword [0x141f2c4f8]
xor eax, dword [0x141f2c4fc]
or eax, 0xc16c03a4
add eax, 0xe9383377
cmp eax, 0x872f0063
jb case.default.0x140003112
jmp 0x140003513
mov eax, dword [0x141f2c400]
imul eax, dword [0x141f2c404]
or eax, 0x29ca86e0
add eax, 0xefdb83bb
and eax, 0x50a72832
cmp eax, 0xf23d20d0
je case.default.0x140002b47
jmp 0x140003513
xor ecx, ecx
mov rax, rcx
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, [0x141f257a8]
jmp case.0x140002b47.2
mov eax, dword [0x141f2c4a8]
mov ecx, dword [0x141f2c4ac]
add eax, ecx
add eax, 0x6d3588e4
xor eax, 0x86022aa4
and eax, 0xee823afc
cmp eax, 0xa4e77a14
jbe 0x1400034d0
ud2
mov eax, dword [0x141f2c4b0]
and eax, dword [0x141f2c4b4]
and eax, 0x455a97f8
add eax, 0xd6ccd3d2
ud2
ud2