Function at 0x14034b8a0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
mov r13, r9
mov rbx, r8
mov esi, edx
mov r14, rcx
mov eax, edx
and eax, 0x1f
cmp eax, 0xe
jae 0x14034b8f5
mov r12, r14
mov rdi, rbx
cmp eax, 6
jbe 0x14034b951
cmp eax, 9
jbe 0x14034ba05
cmp eax, 0xb
jbe 0x14034bba4
mov ecx, r12d
cmp eax, 0xd
je 0x14034bacc
nop
ud2
mov ecx, 0x8af0c9eb
nop word [rax + rax]
mov rdi, r13
cmp eax, 0x14
jb 0x14034baf4
cmp eax, 0x17
ja 0x14034bb33
cmp eax, 0x14
je 0x14034bb55
cmp eax, 0x15
jbe 0x14034bb94
cmp eax, 0x17
mov r12d, ebx
cmovne r12, rbx
mov esi, 0x9c52c113
cmove esi, ecx
mov eax, esi
and eax, 0x1b
mov r13, r14
mov rbx, rdi
mov r14, r12
cmp eax, 0xe
jae 0x14034b900
jmp 0x14034b8cb
cmp eax, 2
jbe 0x14034baad
mov r15d, 0xffff
cmp eax, 3
je 0x14034c40f
cmp eax, 4
ja 0x14034bcdd
call fcn.140326cb0
mov ebx, eax
mov rax, qword [0x140790388]
mov r14, rax
shr r14, 0x20
mov rcx, qword [0x14074b2a0]
lea edx, [rbx + 0x8545]
add edx, dword [0x14074b290]
or r14d, eax
sub edx, r14d
movsxd rax, edx
add rax, rcx
mov rcx, rdi
call qword [0x140704440]
mov rcx, qword [0x14074b2a8]
mov eax, dword [0x14074b298]
or eax, r14d
add eax, ebx
add eax, 0x8545
cdqe
add rax, rcx
mov ecx, r13d
mov edx, 0x4d80b283
call qword [0x140704440]
test al, 1
mov r13d, ebx
je 0x14034bf52
mov r15, rdi
test sil, 0x40
je 0x14034c40f
mov al, 0x3d
xchg byte [0x140746475], al
lea r15, [0x140746460]
jmp 0x14034c40f
cmp eax, 7
je 0x14034bc5e
cmp eax, 9
jne 0x14034bc7d
lea rax, [0x1405e8568]
mov qword [r13], rax
mov r8, r13
mov r9d, 0x3b26bbe0
call fcn.140346980
lea rax, [0x1405e8688]
mov qword [r13], rax
mov rbx, qword [r13 + 0x60]
test rbx, rbx
je 0x14034bd2c
nop
mov rcx, qword [rbx + 8]
test rcx, rcx
sete bpl
je 0x14034ba8d
nop
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x140704440]
test rax, rax
je 0x14034ba8d
test esi, 0x200
jne 0x14034bf4f
nop
mov rcx, qword [rax]
mov r8, qword [rcx]
mov rcx, rax
mov edx, 1
mov rax, r8
call qword [0x140704440]
lea rax, [rbx + 8]
mov qword [rsp + 0x30], rax
mov rcx, rbx
call fcn.1400954d0
test sil, 0x20
jne 0x14034c137
jmp 0x14034c2ef
je 0x14034bc6c
test eax, eax
jne 0x14034bcae
mov esi, 0x9ddfbeed
mov ecx, r13d
mov rax, r12
mov r12, r13
mov r13, rax
nop
mov qword [rsp + 0x28], r12
lea r15, [rsp + 0x28]
mov r14, r12
mov r12d, ecx
test sil, 0x40
jne 0x14034bb8a
mov rcx, r15
call fcn.1400954d0
jmp 0x14034c40f
cmp eax, 0x11
jae 0x14034bbe9
cmp eax, 0xe
je 0x14034bdc9
cmp eax, 0x10
jne 0x14034be0e
test r14d, r14d
je 0x14034bb2b
mov rcx, rbx
call fcn.1400954d0
test esi, 0x100
mov r15, rdi
jne 0x14034c40f
mov r15, rbx
jmp 0x14034c40f
cmp eax, 0x19
jbe 0x14034bc4a
cmp eax, 0x1a
jne 0x14034bd18
mov rcx, rdi
call fcn.140350f20
xor r15d, r15d
jmp 0x14034c40f
xor eax, eax
sub eax, dword [rbx - 4]
cdqe
lea r15, [rbx + rax]
add r15, 0xffffffffffffff68
mov rcx, r15
call fcn.140326500
test edi, edi
je 0x14034bcc9
mov r13, rdi
mov rdi, rbx
mov r12d, r14d
test sil, 0x40
je 0x14034bae7
xor eax, eax
mov r15, r14
jmp 0x14034c30b
mov rcx, rbx
call fcn.1401133c0
xor r15d, r15d
jmp 0x14034c40f
cmp eax, 0xa
jne 0x14034bcfd
nop
movzx eax, byte [0x1407464c9]
lea r15, [0x1407464c0]
cmp al, 0x5f
je 0x14034c40f
mov cl, 0x6d
nop word cs:[rax + rax]
mov al, 0xbc
lock cmpxchg byte [0x1407464c9], cl
je 0x14034c2ab
cmp al, 0x5f
jne 0x14034bbd0
jmp 0x14034c40f
je 0x14034bddc
cmp eax, 0x13
jne 0x14034be40
nop
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x40], rbx
mov rdx, rbx
sub rdx, r14
jae 0x14034befc
test rdi, rdi
je 0x14034c2ab
cmp rdi, 1
mov rax, rdi
adc rax, 0
xor ecx, ecx
cmp rdi, 8
jb 0x14034c251
cmp rdx, 0x20
jb 0x14034c251
cmp rdi, 0x20
jae 0x14034c1fe
xor ecx, ecx
jmp 0x14034c230
xor ecx, ecx
cmp eax, 0x18
mov r15d, 0xffff
cmovne r15, rcx
jmp 0x14034c40f
test r13d, r13d
jne 0x14034c3ff
jmp 0x14034bd44
xor r15d, r15d
lock dec dword [r13 + 8]
cmove r15, r13
jmp 0x14034c40f
nop
mov rax, qword [r12 + 0x38]
mov rcx, qword [rax]
mov r15d, 0xffff
test rcx, rcx
je 0x14034c40f
nop
mov rdx, qword [r12 + 0x50]
cmp dword [rdx], 0
jle 0x14034beab
nop
movzx r15d, word [rcx]
jmp 0x14034c40f
test r13d, r13d
je 0x14034bd7d
mov r15, rdi
test sil, 0x20
jne 0x14034c40c
jmp 0x14034c40f
mov r12, r14
mov rdi, rbx
test sil, sil
js 0x14034c40f
jmp 0x14034c3d9
cmp eax, 6
jne 0x14034bd34
lea rax, [0x1405f9928]
mov qword [rdi], rax
mov rax, qword [r12 + 8]
mov qword [rdi + 8], rax
mov r15, rdi
jmp 0x14034c40f
nop
movzx eax, byte [0x1407464b5]
lea rcx, [0x1407464a0]
cmp al, 0x5f
jne 0x14034bd58
mov r15, rcx
jmp 0x14034c40f
cmp eax, 0x1c
jae 0x14034be8d
mov r12, r14
mov rax, rbx
mov r9, rdi
jmp 0x14034bd8d
mov r15, r12
jmp 0x14034c314
nop
movzx eax, byte [0x140746475]
cmp al, 0x3d
je 0x14034c3f6
mov r15, r12
test esi, 0x100
je 0x14034c40f
jmp 0x14034c3df
mov r15, r13
test sil, 0x40
je 0x14034c40f
mov dl, 0xcd
mov al, 0x51
lock cmpxchg byte [0x1407464b5], dl
je 0x14034c32f
cmp al, 0x5f
jne 0x14034bd67
jmp 0x14034bd10
mov rax, rdi
mov ebx, edi
lea r9, [rsp + 0x40]
mov rdi, r13
mov r14d, r12d
test esi, 0x200
jne 0x14034be72
xor edx, edx
cmp rax, rdx
je 0x14034bf81
nop
movzx ecx, byte [r12 + rdx]
movzx r8d, byte [rdi + rdx]
cmp cl, r8b
jne 0x14034bfaf
inc rdx
test sil, 0x40
je 0x14034bd9b
mov bpl, 1
jmp 0x14034c07e
mov rcx, rbx
mov rdx, rdi
call fcn.14059bcf8
xor r15d, r15d
jmp 0x14034c40f
nop
movzx eax, byte [0x140746496]
lea r15, [0x140746480]
cmp al, 0xe0
je 0x14034c40f
mov cl, 0x4f
mov al, 0xf2
lock cmpxchg byte [0x140746496], cl
je 0x14034bfcf
cmp al, 0xe0
jne 0x14034bdf5
jmp 0x14034c40f
nop
movzx eax, byte [0x1407461b5]
lea r15, [0x1407461b0]
cmp al, 0x4d
je 0x14034c40f
mov cl, 0x65
mov al, 0x7b
lock cmpxchg byte [0x1407461b5], cl
je 0x14034bfc5
cmp al, 0x4d
jne 0x14034be27
jmp 0x14034c40f
lea rax, [0x1405e8688]
mov qword [rdi], rax
mov r14, qword [rdi + 0x60]
test r14, r14
je 0x14034bf24
nop
mov rcx, qword [r14 + 8]
test rcx, rcx
je 0x14034c061
xor r9d, r9d
mov r13, rdi
xor ebp, ebp
jmp 0x14034c150
mov r15d, 1
test sil, sil
jns 0x14034c40f
lea r15, [0x1407464a0]
jmp 0x14034c40f
jne 0x14034bf33
test edi, edi
je 0x14034bf1c
mov rcx, r14
call fcn.1400954d0
mov r15, r14
jmp 0x14034c40f
nop
mov r8, qword [r12 + 0x40]
mov r9, qword [r8]
test r9, r9
je 0x14034c40f
nop
test byte [r12 + 0x70], 4
jne 0x14034c40f
nop
mov r8, qword [r12 + 0x68]
cmp r8, r9
cmovb r8, r9
cmp r8, rcx
jbe 0x14034c40f
nop
mov qword [r12 + 0x68], r8
sub r8, qword [rax]
shr r8, 1
mov dword [rdx], r8d
mov rax, qword [r12 + 0x38]
mov rcx, qword [rax]
jmp 0x14034bca4
mov rax, rdi
sub rax, 1
jb 0x14034c2b1
test sil, 0x40
movzx ecx, byte [r14 + rdi - 1]
mov byte [rbx + rdi - 1], cl
mov rdi, rax
je 0x14034beff
mov r15, r14
jmp 0x14034c40f
test sil, 0x20
je 0x14034c19a
jmp 0x14034c40c
nop
mov r9, qword [rdi + 8]
test r9, r9
sete bpl
movzx eax, byte [0x1407463c2]
cmp al, 0x8e
jne 0x14034bf92
jmp 0x14034c1ae
mov r14d, edi
add r14d, r13d
nop
mov rcx, qword [0x14074b2b0]
mov eax, dword [0x14074b294]
add eax, r14d
add eax, 0x8545
cdqe
add rax, rcx
mov rcx, rdi
call qword [0x140704440]
mov r15, rdi
jmp 0x14034c40f
xor ebp, ebp
test esi, 0x100
jne 0x14034bf92
xor ecx, ecx
jmp 0x14034c1c9
xor ecx, ecx
mov dl, 0xcc
mov al, 0x4e
lock cmpxchg byte [0x1407463c2], dl
je 0x14034c075
cmp al, 0x8e
jne 0x14034bf96
jmp 0x14034c1ae
test sil, 0x20
jne 0x14034c069
lea r15, [0x140746480]
jmp 0x14034c40f
test sil, 0x40
jne 0x14034c1d1
mov eax, 0x8482db8c
mov ecx, 0x7b7d2488
mov edx, 1
mov r8d, 0x8482db8d
mov r9d, 0xba2e8ba3
lea r15, [0x140746480]
lea r10, [0x1405f9da0]
nop dword [rax + rax]
mov r11d, ecx
imul r11, r9
shr r11, 0x24
lea esi, [r11 + r11*4]
lea esi, [r11 + rsi*4]
add esi, r11d
lea r11d, [rax + rsi]
add esi, r8d
movzx ebx, byte [rdx + r15 - 1]
xor bl, byte [rsi + r10]
movzx esi, byte [rdx + r15]
xor bl, 0xc6
xor sil, byte [r11 + r10]
mov byte [rdx + r15 - 1], bl
xor sil, 0xc6
mov byte [rdx + r15], sil
add eax, 0xfffffffe
add ecx, 2
add rdx, 2
add r8d, 0xfffffffe
cmp rdx, 0x17
jne 0x14034c000
mov al, pe_nt_image_headers64
xchg byte [0x140746496], al
jmp 0x14034c40f
mov r13, rdi
jmp 0x14034c18f
add r12, rdx
sub rcx, r8
mov bpl, 1
mov r9, r12
test sil, sil
js 0x14034c1c9
mov qword [rsp + 0x38], rbp
mov qword [rsp + 0x30], r9
lea r10, [0x1405f9cf0]
mov ecx, 0xf29881ee
lea r11, [r10 + rcx]
mov r8d, 0xf29881ec
xor r15d, r15d
movabs r12, 0xe38e38e38e38e38f
lea r13, [0x1407463b0]
mov ebp, 0xf29881ed
nop word [rax + rax]
mov rax, rcx
mul r12
mov r9, rdx
shr r9, 3
and r9, 0xfffffffffffffffe
mov rax, r8
mul r12
shr rdx, 3
and rdx, 0xfffffffffffffffe
lea rax, [rdx + rdx*8]
mov rdx, r10
sub rdx, rax
add rdx, r15
movzx eax, byte [rbp + rdx]
xor al, 0x93
add byte [r15 + r13], al
lea rax, [r9 + r9*8]
neg rax
movzx eax, byte [r11 + rax]
xor al, 0x93
add byte [r15 + r13 + 1], al
add r15, 2
add r11, 2
add rcx, 2
add r8, 2
cmp r15, 0x12
jne 0x14034c0c0
mov r13, rdi
mov r12d, r14d
mov edi, ebx
mov rbp, qword [rsp + 0x38]
test sil, 0x20
je 0x14034c2ef
mov al, 0x8e
xchg byte [0x1407463c2], al
lea r14, [rsp + 0x28]
lea rcx, [rsp + 0x28]
mov ebx, edi
mov r9, qword [rsp + 0x30]
test esi, 0x200
jne 0x14034c1ae
nop
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x140704440]
test rax, rax
je 0x14034c18f
test esi, 0x400
je 0x14034c2fb
nop
mov rcx, qword [rax]
mov r8, qword [rcx]
mov rcx, rax
mov edx, 1
mov rax, r8
call qword [0x140704440]
mov rcx, r14
call fcn.1400954d0
mov rdi, r13
test ebx, ebx
je 0x14034c1c1
mov rcx, rdi
call fcn.1400954d0
mov r15, rdi
jmp 0x14034c40f
lea r15, [0x1407463b0]
test bpl, bpl
cmove r15, r9
jmp 0x14034c40f
mov r15, rdi
jmp 0x14034c40f
mov r15d, ecx
jmp 0x14034c40f
nop
movdqa xmm0, xmmword [0x1407461b0]
paddb xmm0, xmmword [0x1405f9630]
movd dword [0x1407461b0], xmm0
add byte [0x1407461b4], 0xf0
mov al, 0x4d
xchg byte [0x1407461b5], al
jmp 0x14034c40f
mov rcx, rax
and rcx, 0xffffffffffffffe0
xor edx, edx
nop
movdqu xmm0, xmmword [r14 + rdx]
movups xmm1, xmmword [r14 + rdx + 0x10]
movdqu xmmword [rbx + rdx], xmm0
movups xmmword [rbx + rdx + 0x10], xmm1
add rdx, 0x20
cmp rcx, rdx
jne 0x14034c207
cmp rax, rcx
je 0x14034c2ab
test al, 0x18
je 0x14034c251
mov rdx, rcx
mov rcx, rax
and rcx, 0xfffffffffffffff8
nop
mov r8, qword [r14 + rdx]
mov qword [rbx + rdx], r8
add rdx, 8
cmp rcx, rdx
jne 0x14034c23a
cmp rax, rcx
je 0x14034c2ab
mov r8, rax
mov rdx, rcx
and r8, 3
je 0x14034c272
mov rdx, rcx
nop
movzx r9d, byte [r14 + rdx]
mov byte [rbx + rdx], r9b
inc rdx
dec r8
jne 0x14034c260
sub rcx, rax
cmp rcx, 0xfffffffffffffffc
ja 0x14034c2ab
nop
movzx eax, byte [r14 + rdx]
mov byte [rbx + rdx], al
movzx eax, byte [r14 + rdx + 1]
mov byte [rbx + rdx + 1], al
movzx eax, byte [r14 + rdx + 2]
mov byte [rbx + rdx + 2], al
movzx eax, byte [r14 + rdx + 3]
mov byte [rbx + rdx + 3], al
add rdx, 4
cmp rdi, rdx
jne 0x14034c27b
test sil, 0x20
jne 0x14034c2bc
nop
mov r15, qword [rsp + 0x28]
jmp 0x14034c40f
lea r15, [0x1407464c0]
movq xmm0, qword [0x1407464c0]
paddb xmm0, xmmword [0x1405f9640]
movq qword [0x1407464c0], xmm0
add byte [0x1407464c8], 0xfa
mov al, 0x5f
xchg byte [0x1407464c9], al
jmp 0x14034c40f
mov r15, r13
test r12d, r12d
je 0x14034c40f
mov rcx, r13
call fcn.1400954d0
mov r15, r13
jmp 0x14034c40f
cmp rax, rdi
jae 0x14034c3cb
test sil, sil
jns 0x14034c2ef
nop
movzx ecx, byte [r13 + rax]
mov byte [r14 + rax], cl
inc rax
test esi, 0x100
je 0x14034c30b
mov r10d, 0xb968fea8
mov ecx, 0xb968fea6
xor r11d, r11d
movabs rsi, 0xaaaaaaaaaaaaaaab
lea rdi, [0x1405f9dc0]
lea r15, [0x1407464a0]
mov ebx, 0xb968fea7
mov r8d, 0xb968fea8
mov rax, r8
mul rsi
mov r9, rdx
mov rax, rcx
mul rsi
shr rdx, 1
and rdx, 0xfffffffffffffff8
lea rax, [rdx + rdx*2]
mov rdx, rdi
sub rdx, rax
add rdx, r11
movzx eax, byte [rbx + rdx]
xor al, 0x1a
add byte [r11 + r15], al
cmp r11, 0x14
je 0x14034c3c1
shr r9, 1
and r9, 0xfffffffffffffff8
lea rax, [r9 + r9*2]
mov rdx, rdi
sub rdx, rax
add rdx, r10
movzx eax, byte [rdx + r11]
xor al, 0x1a
add byte [r11 + r15 + 1], al
add r11, 2
add r8, 2
add rcx, 2
jmp 0x14034c360
mov al, 0x5f
xchg byte [0x1407464b5], al
jmp 0x14034c40f
test sil, 0x20
je 0x14034c40f
nop
mov r15, qword [rsp + 0x28]
jmp 0x14034c40f
test sil, 0x20
je 0x14034c3ff
mov cl, 0xff
mov al, 0xed
lock cmpxchg byte [0x140746475], cl
je 0x14034c423
test sil, sil
js 0x14034c40c
cmp al, 0x3d
jne 0x14034c3d9
lea r15, [0x140746460]
jmp 0x14034c40f
mov rcx, r12
call fcn.1400954d0
mov r15, r12
jmp 0x14034c40f
xor r15d, r15d
mov rax, r15
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov eax, 1
mov ecx, 0x36a6003d
mov edx, 0xc959ffd8
mov r8d, 0x36a6003e
mov r9d, 0xc959ffd6
mov r10d, 0xba2e8ba3
lea r11, [0x140746460]
lea rbx, [0x1405f9d80]
nop word cs:[rax + rax]
mov r14d, r9d
imul r14, r10
shr r14, 0x24
lea r15d, [r14 + r14*4]
lea ebp, [r14 + r15*4]
add r14d, r8d
add r14d, ebp
movzx ebp, byte [r14 + rbx]
xor bpl, 0xd4
add byte [rax + r11 - 1], bpl
cmp rax, 0x15
je 0x14034b9e4
mov r14d, edx
imul r14, r10
shr r14, 0x24
lea r15d, [r14 + r14*4]
lea ebp, [r14 + r15*4]
add r14d, ecx
add r14d, ebp
mov r14d, r14d
movzx ebp, byte [r14 + rbx]
xor bpl, 0xd4
add byte [rax + r11], bpl
add rax, 2
add ecx, 0xfffffffe
add edx, 2
add r8d, 0xfffffffe
add r9d, 2
jmp 0x14034c460