Function at 0x14002cf60
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x68
movsx esi, byte [0x140042b56]
mov ebp, 0x184
mov r10d, dword [0x140042a8c]
cmp esi, 0xa2
mov r9d, dword [0x140042b4c]
mov r14b, 0xa2
mov r11d, dword [0x140042a64]
sete r15b
mov r8d, dword [0x140042a88]
and r15b, 0x38
movzx ecx, byte [0x140042b67]
add r10d, 0xfffffdfa
mov byte [rsp + 0xb0], r15b
xor r12d, r12d
mov byte [0x140042a87], r15b
mov r13d, r9d
mov dword [rsp + 0x20], 0x4f
mov edx, 0xc8
mov dword [rsp + 0x24], ebp
nop
and r8d, r10d
test r11d, r11d
setne al
xor cl, al
sub rdx, 1
jne 0x14002cfe0
mov edi, dword [0x140042b3c]
mov edx, 0x276
mov byte [0x140042b67], cl
mov r10d, 1
mov ecx, dword [0x140042b38]
test ecx, ecx
mov dword [0x140042b40], edx
mov edx, dword [0x140042b34]
lea eax, [rcx + 4]
mov byte [rsp + 0xb8], al
mov eax, r12d
setne al
lea ebx, [rdx + 0x2a]
sub r11d, eax
mov dword [rsp + 0x28], ebx
mov ecx, ebx
mov dword [rsp + 0x40], r11d
mov eax, r12d
mov dword [0x140042a64], r11d
shl eax, cl
mov ecx, r12d
cmp eax, r11d
mov eax, edi
sete cl
and eax, 3
mov dword [rsp + 0x48], ecx
mov dword [0x140042b48], ecx
mov dword [rsp + 0x2c], eax
test r12b, r12b
jne 0x14002d07d
movzx ecx, byte [0x140042b80]
mov eax, 0xffffff7f
cmp eax, ecx
mov eax, r12d
je 0x14002d080
mov eax, r10d
movzx ecx, byte [0x140042b82]
or cl, al
mov byte [rsp + 0xc0], cl
test edi, edi
jne 0x14002d0a7
mov eax, r12d
cmp ebx, 0xffffff91
sete al
and edx, 0x48
cmp eax, edx
mov eax, r12d
je 0x14002d0aa
mov eax, r10d
movzx ecx, byte [0x140042b55]
movzx r15d, byte [0x140042b88]
sub cl, al
mov byte [rsp + 0xc8], cl
mov eax, 0xaaaaaaab
mov byte [0x140042b55], cl
imul ecx, dword [0x140042b58], 0x4f
mov byte [0x140042a63], r12b
mul ecx
shr edx, 1
lea eax, [rdx + rdx*2]
mov edx, 0x50
sub ecx, eax
mov eax, r12d
cmp dword [0x140042b7c], 0x138
mov dword [rsp + 0x44], ecx
setb al
cmp eax, ebp
movzx eax, byte [rsp + 0xb8]
mov ebp, dword [0x140042b28]
setb r12b
xor edi, edi
cmp r9d, eax
sete dil
or ebx, 0xffffffff
mov dword [rsp + 0x34], edi
jmp 0x14002d12d
mov edi, dword [rsp + 0x34]
mov r10d, 1
add edx, ebx
cmp dword [0x140042b38], 0
je 0x14002d153
lea ecx, [r11 + 0x82]
mov byte [0x140042b65], 1
mov eax, 0x82
shl eax, cl
or eax, dword [rsp + 0x2c]
jne 0x14002d15a
mov byte [0x140042b65], 0
shr r14b, 2
add r14b, r15b
cmp byte [0x140042b54], 0
jne 0x14002d181
cmp byte [rsp + 0xb8], 0
jne 0x14002d181
xor ecx, ecx
mov r10d, ecx
mov dword [0x140042b2c], ecx
jmp 0x14002d18a
mov dword [0x140042b2c], r10d
xor ecx, ecx
cmp esi, r12d
jne 0x14002d1a1
mov eax, r13d
or eax, 0xbc
or r10d, eax
mov dword [0x140042b2c], r10d
movzx eax, byte [rsp + 0xb0]
or r9d, 1
cmp dword [rsp + 0x28], 0
mov r11d, dword [rsp + 0x40]
setne cl
and r8d, edi
shr eax, cl
movzx edi, r9b
xor dil, r14b
or ebp, eax
xor dil, 0xf4
mov byte [rsp + 0x31], dil
mov byte [0x140042b66], dil
test edx, edx
jne 0x14002d123
movzx edx, byte [0x140042b81]
movzx ecx, dx
mov dword [0x140042b4c], r9d
neg cx
mov dword [0x140042b28], ebp
shl cx, 2
mov byte [rsp + 0x32], r14b
and ecx, 7
je 0x14002d2cf
sub ecx, 1
je 0x14002d287
sub ecx, 1
je 0x14002d263
cmp ecx, 1
je 0x14002d238
movzx eax, byte [0x140042b54]
sub ebx, eax
add r11d, ebx
mov dword [rsp + 0x40], r11d
mov dword [0x140042a64], r11d
jmp 0x14002d2dd
movzx ecx, byte [rsp + 0xb8]
xor eax, eax
shl r9b, cl
xor r9b, 0xf4
test r10d, r10d
setne al
xor r11d, eax
mov dword [rsp + 0x40], r11d
mov dword [0x140042a64], r11d
jmp 0x14002d2e5
mov ebx, dword [rsp + 0x2c]
mov eax, dword [rsp + 0x48]
and ebx, 0x82
movzx r9d, byte [0x140042a86]
xor ebx, 0xb8
or ebx, edx
mov dword [rsp + 0x24], eax
jmp 0x14002d2eb
test byte [0x140042b56], 0x91
movzx r9d, byte [0x140042a86]
mov dword [rsp + 0x38], r9d
jne 0x14002d2bf
movzx ecx, byte [rsp + 0xb8]
test ecx, 0x138
jne 0x14002d2bf
test r9b, r9b
jne 0x14002d2bf
mov ebx, dword [0x140042b6c]
xor eax, eax
and r15b, al
jmp 0x14002d2f0
mov ebx, dword [0x140042b6c]
mov eax, 1
and r15b, al
jmp 0x14002d2f0
movzx eax, byte [0x140042b80]
add eax, 0x2d
mov dword [rsp + 0x2c], eax
movzx r9d, byte [0x140042a86]
mov ebx, dword [0x140042b6c]
mov dword [rsp + 0x38], r9d
mov esi, dword [0x140042b78]
xor r9d, r9d
movzx ecx, byte [rsp + 0x44]
cmp esi, 0xb8
mov r12d, dword [0x140042b5c]
mov eax, r9d
seta al
mov dword [rsp + 0x4c], ecx
cmp dword [rsp + 0x2c], 0x276
mov edi, dword [rsp + 0x4c]
mov dword [rsp + 0x58], eax
mov eax, r9d
mov r10d, dword [rsp + 0x58]
sete al
mov dword [rsp + 0x54], eax
add ecx, 0xb8
movzx eax, byte [0x140042b54]
or ecx, 0x1f4
add eax, 0xb7
mov dword [rsp + 0x3c], ebx
mov ebx, dword [rsp + 0x54]
xor eax, 0x276
mov dword [rsp + 0x44], eax
movzx eax, byte [0x140042b60]
shl al, cl
mov byte [rsp + 0x30], al
movzx eax, r14b
mov ecx, eax
mov dword [rsp + 0x34], eax
imul ecx, ebp
mov eax, 0xaaaaaaab
lea ebp, [r9 + 0x34]
movzx r9d, byte [rsp + 0xc8]
mul ecx
mov eax, edx
movzx edx, byte [0x140042b44]
shr eax, 1
xor dl, r14b
movzx r14d, byte [rsp + 0x30]
xor dl, 0x76
mov dword [rsp + 0x50], eax
lea eax, [rsi - 0x38]
mov esi, dword [rsp + 0x44]
or dl, al
mov r11d, dword [rsp + 0x50]
nop dword [rax]
nop dword [rax + rax]
xor eax, eax
cmp dword [rsp + 0x34], r8d
mov ecx, eax
setne cl
cmp ecx, dword [rsp + 0x2c]
seta al
cmp r10d, eax
je 0x14002d416
mov eax, dword [rsp + 0x34]
mov ecx, edi
shl dword [0x140042b40], cl
xor eax, r12d
xor eax, dword [rsp + 0x24]
add dword [0x140042b7c], eax
movzx ecx, byte [0x140042a62]
movzx r9d, byte [rsp + 0x20]
sub r9b, byte [0x140042b56]
lea eax, [rcx - 0x49]
xor al, 0x38
or r9b, al
mov byte [0x140042b55], r9b
jmp 0x14002d41d
movzx ecx, byte [0x140042a62]
movsx eax, r9b
and r8d, esi
xor eax, ebx
mov dword [rsp + 0x20], r11d
xor r13d, eax
and r15b, dl
movzx eax, byte [rsp + 0xc0]
or al, r14b
mov byte [rsp + 0xc0], al
mov byte [0x140042b82], al
sub rbp, 1
jne 0x14002d3c0
mov r10d, dword [0x140042b2c]
mov ebx, dword [rsp + 0x3c]
mov esi, dword [0x140042b78]
movzx r14d, byte [rsp + 0x32]
mov byte [0x140042b88], r15b
xor r15d, r15d
test edi, edi
mov byte [rsp + 0xc8], r9b
mov r9d, dword [rsp + 0x38]
mov eax, r15d
movzx edi, byte [rsp + 0x31]
sets al
cmp r11d, eax
mov dword [0x140042b84], r13d
mov r11d, dword [rsp + 0x40]
jne 0x14002d545
mov edx, dword [rsp + 0x24]
lea r14d, [rdi - 0x5a]
mov eax, dword [0x140042b68]
sub eax, dword [rsp + 0x28]
mov ebp, dword [rsp + 0x48]
add eax, 0xb7
xor ebp, eax
mov byte [0x140042a63], 1
movsx eax, cl
mov ecx, r15d
cmp eax, 0xffffff4a
mov dword [0x140042b48], ebp
mov eax, r15d
mov ebp, 1
sete cl
mov dword [0x140042b5c], ebp
cmp r13d, 0x276
lea r15d, [r11 + 0x68]
mov r12d, ebp
sete al
xor ecx, eax
movzx eax, byte [0x140042b80]
sub ecx, dword [0x140042b60]
add ecx, dword [rsp + 0x28]
mov dword [0x140042b58], ecx
mov ecx, edx
shl eax, cl
and ebx, eax
movzx ecx, r14b
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x34], ecx
lea eax, [rbx - 1]
mov byte [0x140042b88], al
lea eax, [rdx + 0x1f4]
and eax, ecx
or eax, dword [0x140042b3c]
and dword [0x140042b38], eax
jmp 0x14002d54f
mov r15d, dword [rsp + 0x28]
mov ebp, 1
inc byte [rsp + 0xb0]
mov edi, r15d
mov ecx, dword [rsp + 0x2c]
mov edx, 0x98
movsx eax, byte [0x140042a63]
shr edi, cl
or edi, r12d
cmp eax, 0xb8
movzx eax, byte [rsp + 0xb0]
sete cl
sub ebx, eax
add ebx, 0x1f4
xor r12d, r12d
nop dword [rax]
or r9b, cl
mov dword [0x140042b30], r12d
or esi, edi
mov byte [0x140042a86], r9b
or r8d, ebx
sub edx, 1
jne 0x14002d590
mov dword [0x140042a88], r8d
mov edx, 0x53
mov dword [0x140042b78], esi
nop dword [rax]
test r13d, r13d
jne 0x14002d5dd
mov ecx, r15d
mov byte [0x140042b80], r12b
mov eax, 0x248
shl eax, cl
cmp eax, 0x1f4
jne 0x14002d5e4
mov byte [0x140042b80], 1
sub rdx, 1
jne 0x14002d5c0
movzx eax, byte [rsp + 0xc0]
mov r13d, dword [rsp + 0x24]
mov ecx, r13d
mov edi, dword [rsp + 0x20]
mov esi, dword [rsp + 0x2c]
shr eax, 1
mov dword [0x140042b6c], eax
mov eax, r15d
shr eax, cl
mov ecx, r10d
cmp dword [0x140042b40], eax
mov eax, 0x48
sete dl
shl al, cl
xor dl, al
cmp dword [0x140042a8c], 1
mov byte [0x140042b57], dl
jne 0x14002d669
cmp edi, 0x276
mov byte [rsp + 0xb0], r11b
sete al
sub r11b, sil
and al, r12b
sub r11b, 0x7e
and al, byte [rsp + 0xc8]
or al, r8b
or r9b, al
add byte [0x140042b54], r11b
mov byte [0x140042a86], r9b
call qword [sym.imp.KERNEL32.dll_ConvertFiberToThread]
movzx r15d, byte [0x140042b67]
cmp esi, 0xffffff91
je 0x14002d689
movzx eax, r13b
and al, r15b
or byte [0x140042b64], al
mov r12d, dword [0x140042b7c]
xor r8d, r8d
mov r10d, dword [0x140042a64]
mov ecx, r8d
movzx ebx, byte [0x140042b80]
mov eax, r8d
movzx r11d, byte [0x140042a86]
and eax, 0x276
movsx edx, r15b
cmp edx, eax
mov eax, 0xaaaaaaab
sete cl
sub dword [0x140042b38], ecx
lea ecx, [rdi + r12*4]
mul ecx
shr edx, 2
lea eax, [rdx + rdx*2]
add eax, eax
sub ecx, eax
je 0x14002d771
sub ecx, 1
je 0x14002d752
sub ecx, 1
je 0x14002d72b
cmp ecx, 1
jne 0x14002d78a
mov eax, r8d
lea ecx, [rsi - 0xb8]
xor ecx, 0x82
mov edx, r10d
shr edx, cl
sub dword [0x140042a8c], edx
cmp r11b, r14b
sete al
xor eax, esi
xor eax, 0x82
jne 0x14002d721
mov eax, r8d
test bl, bl
je 0x14002d723
mov eax, ebp
xor byte [0x140042b65], al
jmp 0x14002d78a
movzx ecx, byte [rsp + 0xb8]
movzx eax, byte [0x140042b82]
sub ecx, edi
mov edi, dword [0x140042b68]
sub ecx, 0x6f
shl al, cl
and al, dil
sub byte [0x140042b56], al
jmp 0x14002d790
test r15b, r15b
jne 0x14002d769
mov eax, edi
xor eax, 0x3bc
jne 0x14002d769
mov dword [0x140042b3c], r8d
jmp 0x14002d78a
mov dword [0x140042b3c], ebp
jmp 0x14002d78a
movsx eax, byte [0x140042b56]
movzx ecx, r14b
and ecx, 0xb7
xor ecx, eax
mov dword [0x140042b78], ecx
mov edi, dword [0x140042b68]
mov r9d, dword [0x140042b60]
lea eax, [r13 + 0x7e]
mov r13d, dword [0x140042b34]
and al, 0xb7
mov r8d, dword [0x140042b58]
or al, r13b
and r11b, al
mov byte [0x140042a86], r11b
test r9d, r9d
je 0x14002d7d1
mov eax, dword [rsp + 0x28]
mov ecx, r8d
shl eax, cl
mov byte [0x140042b55], 1
test eax, eax
jne 0x14002d7d8
mov byte [0x140042b55], 0
mov edx, dword [0x140042b40]
mov ecx, 0x24
nop dword [rax]
nop word [rax + rax]
mov eax, edx
and eax, 0xffffff91
and r9d, eax
sub rcx, 1
jne 0x14002d7f0
lea eax, [r8 + 0xb8]
mov dword [0x140042b60], r9d
mov dword [0x140042b40], eax
mov eax, 0xb8
sub eax, dword [rsp + 0x20]
or eax, r9d
or eax, esi
jne 0x14002d82a
cmp byte [0x140042a87], al
je 0x14002d82c
mov eax, ebp
mov esi, dword [0x140042b44]
mov ecx, dword [rsp + 0x28]
xor esi, eax
add ecx, edi
mov eax, 0xcccccccd
mul ecx
shr edx, 3
lea eax, [rdx + rdx*4]
add eax, eax
sub ecx, eax
je 0x14002d8e1
sub ecx, 1
je 0x14002d8c1
sub ecx, 1
je 0x14002d8b1
cmp ecx, 1
je 0x14002d88a
mov eax, dword [rsp + 0x28]
test al, bl
jne 0x14002d881
movzx ecx, byte [0x140042b81]
mov eax, 0x16e
sar eax, cl
test eax, eax
jne 0x14002d881
or r12d, eax
xor edx, edx
jmp 0x14002d8f5
mov eax, ebp
or r12d, eax
xor edx, edx
jmp 0x14002d8f5
movzx ecx, byte [0x140042b56]
xor edx, edx
mov r8d, dword [rsp + 0x20]
test r13d, r13d
sete al
sub cl, al
mov byte [0x140042b56], cl
sub cl, r8b
mov byte [0x140042b88], cl
jmp 0x14002d8fa
add esi, 0x248
movsx eax, r15b
add esi, eax
xor edx, edx
jmp 0x14002d8f5
movzx eax, byte [0x140042b81]
mov ecx, dword [rsp + 0x24]
or eax, ecx
and r8d, eax
mov dword [0x140042b58], r8d
xor edx, edx
mov r8d, dword [rsp + 0x20]
jmp 0x14002d8fe
xor edx, edx
test r10d, r10d
mov eax, edx
setne al
xor r13d, eax
mov dword [0x140042b34], r13d
mov r8d, dword [rsp + 0x20]
mov ecx, dword [rsp + 0x24]
mov eax, dword [0x140042a8c]
or eax, dword [rsp + 0x28]
or eax, 8
je 0x14002d919
mov byte [0x140042a87], 1
test r12d, r12d
jne 0x14002d920
mov byte [0x140042a87], 0
mov eax, dword [0x140042b78]
add eax, 0x248
jne 0x14002d93b
test dl, dl
jne 0x14002d93b
cmp dword [0x140042a88], eax
mov eax, edx
je 0x14002d93d
mov eax, ebp
sub byte [0x140042b88], al
mov ebx, edx
cmp dword [0x140042a8c], ecx
mov edx, 0xc7d
sete bl
or ebx, r8d
mov dword [0x140042a8c], ebx
nop dword [rax]
test edi, edi
jne 0x14002d97c
mov ecx, r8d
mov byte [0x140042b80], dil
mov eax, 0xb8
shl eax, cl
cmp eax, 0x1f4
jne 0x14002d983
mov byte [0x140042b80], 1
sub rdx, 1
jne 0x14002d960
movzx edi, byte [0x140042a62]
and r11b, 0x91
movzx ebp, byte [rsp + 0xb0]
and dil, r11b
mov r11d, dword [rsp + 0x24]
movzx r10d, r15b
sar r10b, 7
add r9b, 2
movzx ecx, r14b
mov r8d, 0x14e
shl r10b, cl
mov ecx, esi
shr r11d, cl
nop dword [rax]
nop word [rax + rax]
movzx eax, r10b
and al, r11b
and dl, al
sub r8w, 1
jne 0x14002d9d0
mov byte [0x140042b82], dl
movsx edx, r15b
lea eax, [rdx + 0x248]
test eax, eax
je 0x14002da03
xor eax, eax
je 0x14002da05
mov r11d, 1
mov eax, r11d
jmp 0x14002da0b
xor eax, eax
mov r11d, 1
mov r10d, dword [rsp + 0x28]
add r12d, eax
movzx eax, byte [rsp + 0xb8]
movzx ecx, r10b
movzx r8d, byte [0x140042b83]
shr eax, cl
mov dword [0x140042b7c], r12d
cmp eax, edx
je 0x14002da42
movzx eax, r8b
xor al, r14b
je 0x14002da42
mov eax, r11d
jmp 0x14002da44
xor eax, eax
and byte [0x140042b81], al
mov ecx, 0xffffff91
xor eax, eax
sub ecx, eax
movsx eax, byte [0x140042b64]
shl eax, cl
movzx ecx, byte [rsp + 0xb8]
shl eax, cl
and eax, dword [0x140042b40]
add esi, eax
movzx eax, byte [rsp + 0xb8]
sub al, byte [0x140042b5c]
sub al, r14b
mov dword [0x140042b44], esi
mov r14d, dword [rsp + 0x34]
mov ecx, r14d
shl sil, cl
imul ecx, dword [0x140042a88], 7
and al, sil
xor byte [0x140042a63], al
mov eax, 0xaaaaaaab
movzx esi, byte [rsp + 0xb0]
add ecx, r10d
mov r10d, dword [0x140042b4c]
mul ecx
shr edx, 1
lea eax, [rdx + rdx*2]
sub ecx, eax
je 0x14002db1f
sub ecx, 1
je 0x14002db0d
sub ecx, 1
je 0x14002dae5
xor r14d, r14d
cmp ecx, 1
jne 0x14002db2c
mov eax, r14d
test r10d, r10d
setne al
mov dword [0x140042b3c], eax
jmp 0x14002db2c
xor eax, eax
movzx ecx, al
shr r14d, cl
mov ecx, eax
cmp r14d, dword [rsp + 0x28]
movzx eax, byte [0x140042b65]
sete cl
xor ecx, eax
or ecx, r12d
xor ebx, ecx
mov dword [0x140042a8c], ebx
jmp 0x14002db29
movzx eax, byte [0x140042b88]
xor al, sil
mov byte [0x140042b55], al
jmp 0x14002db29
movsx eax, r15b
mov dword [0x140042a8c], eax
xor r14d, r14d
mov ecx, dword [rsp + 0x24]
movzx eax, r9b
add eax, r13d
shr eax, cl
test eax, eax
jne 0x14002db48
cmp ebp, dword [0x140042b78]
mov eax, r14d
je 0x14002db4b
mov eax, r11d
mov ebx, dword [rsp + 0x2c]
add dil, al
movzx eax, byte [0x140042b65]
mov edx, ebx
mov ecx, dword [rsp + 0x20]
shr edx, 2
add edx, dword [0x140042b68]
shl al, cl
add r8b, al
mov byte [0x140042a62], dil
mov byte [0x140042b83], r8b
test r14b, r14b
je 0x14002db88
mov ecx, r11d
test sil, sil
jne 0x14002db8b
mov ecx, r14d
shl r15b, cl
xor byte [0x140042b57], r15b
cmp r10d, 0xb7
jne 0x14002dbb1
cmp edx, dword [0x140042b2c]
mov eax, r14d
sete al
xor eax, 0x1f4
jne 0x14002dbb4
mov r11d, r14d
add dword [0x140042b78], r11d
call fcn.14002c610
mov eax, ebx
add rsp, 0x68
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret