Function at 0x1401a9ce0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x50
mov esi, edx
test ecx, ecx
je 0x1401a9d17
mov ecx, dword [0x1405d0d50]
mov edx, 0x70f5ca80
mov r8d, 0x4d6a9842
call fcn.1401ad300
test al, 1
jne 0x1401aa1cb
jmp 0x1401aa1ee
mov ecx, esi
mov edx, 0xeb1f4dc2
mov r8d, 0x260b41b3
call fcn.1400ab940
test al, 1
je 0x1401a9d3c
xor eax, eax
test al, al
jne 0x1401a9fb0
jmp 0x1401a9f9b
movzx eax, byte [0x14056dd5d]
cmp al, 0x75
je 0x1401a9f8f
lea rsi, [rsp + 0x40]
mov bl, 0x9e
lea rdi, [rsp + 0x4c]
nop word [rax + rax]
mov ecx, 0xbcc80662
mov edx, 0x2169c60b
call fcn.14008ade0
mov eax, dword [0x1405d0d50]
lea ecx, [rax - 1]
imul ecx, eax
mov r9d, dword [0x14056f2e0]
lea r8d, [r9 - 0x76fabc07]
add r9d, 0x80c423bd
mov rdx, rsi
call fcn.1401464e0
cmp dword [rsp + 0x40], 0
jne 0x1401a9dea
mov al, 0x4e
lock cmpxchg byte [0x14056dd5d], bl
sete dl
mov ecx, dword [0x14056f2e0]
mov r8d, ecx
xor r8d, 0x51351f1a
mov r9d, ecx
and r9d, 0x51351f1a
lea r8d, [r8 + r9*2]
add ecx, 0x91aa296c
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], r8d
mov ecx, eax
mov r8, rdi
mov r9, rsi
call fcn.1401acf80
test al, 1
je 0x1401a9e20
mov al, 0x4e
lock cmpxchg byte [0x14056dd5d], bl
sete dl
mov ecx, eax
mov r8d, 0x54b8d24c
mov r9d, 0xd0f48774
call fcn.14008ade0
mov eax, dword [0x1405d0d54]
cmp eax, 0x4a
jge 0x1401a9d60
jmp 0x1401a9d9f
test byte [rsp + 0x40], 1
jne 0x1401a9e37
cmp byte [rsp + 0x4c], 0x75
jne 0x1401a9d60
jmp 0x1401a9f8f
xor esi, esi
lea r15, [0x14056dd50]
lea r12, [0x14048f3f0]
lea rdi, [rsp + 0x40]
lea rbx, [rsp + 0x4c]
nop word cs:[rax + rax]
mov eax, dword [0x1405d0d54]
cmp eax, 0x2c
jg 0x1401a9e9d
nop dword [rax + rax]
movzx eax, byte [rsi + r12]
add byte [rsi + r15], al
mov ecx, 0x79801204
mov edx, 0x1c34df69
call fcn.14008ade0
mov eax, dword [0x1405d0d50]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x1401a9f70
mov ecx, esi
mov rdx, rdi
mov r8d, 0x81d3da1b
mov r9d, 0x9656efd6
call fcn.140152500
mov rcx, qword [rsp + 0x40]
mov rdx, rdi
mov r8d, 0x155fb549
mov r9d, 0x9b290b1c
call fcn.1401ad420
mov rax, qword [rsp + 0x40]
movzx ebp, byte [rax]
movzx edx, byte [rsi + r12]
mov dword [rsp + 0x28], 0x8c7a24a2
mov dword [rsp + 0x20], 0x65ff3325
mov ecx, ebp
mov r8, rbx
mov r9, rdi
call fcn.1401ad800
movzx eax, byte [rsp + 0x40]
mul byte [rsp + 0x4c]
sub al, bpl
mov edx, ebp
mov ecx, eax
shl dl, cl
mov r14d, ebp
mov ecx, edx
shl r14b, cl
sub bpl, r14b
mov eax, ebp
mul r14b
neg al
mov dword [rsp + 0x20], 0x92e211fc
mov ecx, eax
mov edx, r14d
mov r8, rdi
mov r9d, 0x6e4172d7
call fcn.1400ab900
movzx eax, byte [rsp + 0x40]
sub al, r14b
mul r14b
sub al, r14b
mov dword [rsp + 0x20], 0x6404bee9
mov ecx, eax
mov edx, r14d
mov r8, rdi
mov r9d, 0xb0bbc252
call fcn.1401ad280
movzx eax, byte [rsp + 0x40]
mov byte [rsi + r15], al
jmp 0x1401a9e70
lea eax, [rsi + 1]
cmp eax, 0xc
jg 0x1401a9f80
inc rsi
jmp 0x1401a9e60
mov ecx, 0xa1b6f486
mov edx, 0x2cd6cd3d
call fcn.1401ad810
lea rax, [0x14056dd50]
jmp 0x1401aa1bc
movzx eax, byte [0x14056dd7d]
mov cl, 1
test cl, cl
jne 0x1401a9fdc
nop dword [rax + rax]
mov ecx, 0x3dcd5b10
mov edx, 0x50ca0334
call fcn.1401ad4c0
mov edx, dword [0x14056f2e0]
lea ecx, [rdx + 0x330a8ed5]
add edx, 0xd0819afc
call fcn.1401ad510
test al, 1
je 0x1401a9fb0
jmp 0x1401a9f9b
cmp al, 0x84
je 0x1401aa178
mov bpl, 0x1d
lea rsi, [rsp + 0x4c]
lea rdi, [rsp + 0x40]
mov r14d, 0x2683e712
jmp 0x1401aa009
cmp bl, 0x84
je 0x1401aa178
mov eax, dword [0x1405d0d50]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1401aa0c0
nop
mov al, 0xbb
lock cmpxchg byte [0x14056dd7d], bpl
mov ebx, eax
sete r15b
mov rcx, rsi
mov rdx, rdi
mov r8d, 0xfc139969
mov r9d, 0xb3eaefb4
call fcn.1401ad440
mov eax, dword [rsp + 0x4c]
imul eax, dword [rsp + 0x40]
and eax, 1
mov ecx, dword [0x14056f2e0]
add ecx, r14d
cmp eax, ecx
jne 0x1401aa0c0
test r15b, r15b
jne 0x1401aa0f3
nop word [rax + rax]
mov eax, dword [0x1405d0d50]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1401aa09f
mov rcx, rdi
mov edx, 0xe69a5bbf
mov r8d, 0x864e441e
call fcn.1401ad430
cmp dword [rsp + 0x40], 0x12
jle 0x1401aa000
mov ecx, dword [0x1405d0d54]
mov edx, 0xf26e1578
mov r8d, 0xa147dbfc
call fcn.1401acf50
test al, 1
je 0x1401aa070
jmp 0x1401aa081
movzx ecx, byte [0x14056f2f0]
lea eax, [rcx - 0x76]
add cl, 0xec
lock cmpxchg byte [0x14056dd7d], cl
mov eax, dword [0x14056f2e0]
mov ecx, eax
xor ecx, 0x2683e712
and eax, 0x2683e712
add eax, eax
add eax, ecx
jne 0x1401aa0c0
jmp 0x1401aa020
xor eax, eax
lea rsi, [rsp + 0x40]
mov edi, 0x2683e71f
nop
movsxd rcx, eax
mov eax, dword [0x14056f2e0]
lea r9d, [rax - 0x1028fdbf]
add eax, 0x330a8ed5
mov dword [rsp + 0x20], eax
mov edx, ecx
mov r8, rsi
call fcn.1401ad020
mov eax, dword [rsp + 0x40]
mov ecx, dword [0x14056f2e0]
add ecx, edi
cmp eax, ecx
jl 0x1401aa100
mov eax, dword [0x1405d0d50]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1401aa152
mov al, 0x84
xchg byte [0x14056dd7d], al
xor eax, eax
test al, al
je 0x1401aa178
mov al, 0x84
xchg byte [0x14056dd7d], al
jmp 0x1401aa144
mov eax, dword [0x1405d0d50]
mov ecx, dword [0x14056f2e0]
not ecx
add ecx, eax
imul ecx, eax
test cl, 1
je 0x1401aa18e
xor ecx, ecx
mov edx, 0x4a85e4bc
mov r8d, 0xff9ff120
call fcn.1400ab940
test al, 1
je 0x1401aa160
mov ecx, dword [0x1405d0d50]
lea edx, [rcx - 1]
mov r9d, dword [0x14056f2e0]
lea r8d, [r9 - 0x2bbf0f3d]
add r9d, 0x8aa374c8
call fcn.1401ad530
test al, 1
je 0x1401aa160
lea rax, [0x14056dd70]
add rsp, 0x50
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
lea rax, [fcn.1401a9ce0]
add eax, eax
add eax, 0x2460
mov ecx, eax
not ecx
and ecx, eax
mov eax, 0x2683e712
add eax, dword [0x14056f2e0]
cmp ecx, eax
je 0x1401aa20c
mov r8d, dword [0x14056f2e0]
lea edx, [r8 + 0x422d8c92]
add r8d, 0xb742c0c9
mov ecx, esi
call fcn.14008ade0
jmp 0x1401aa1cb
test esi, esi
je 0x1401aa2a9
xor edi, edi
mov ebx, 0x2683e742
lea rsi, [rsp + 0x40]
mov edx, dword [0x14056f2e0]
lea ecx, [rdx - 0x48aea215]
add edx, 0xa003f916
call fcn.14008ade0
test dil, dil
jne 0x1401aa255
movzx eax, byte [0x14056ddf5]
mov ecx, dword [0x1405d0d54]
mov edx, dword [0x14056f2e0]
add edx, ebx
cmp ecx, edx
jl 0x1401aa27f
mov r8d, dword [0x14056f2e0]
lea edx, [r8 - 0x7e06d7e0]
add r8d, 0x5e9843a
mov rcx, rsi
call fcn.1401ad270
mov eax, dword [0x1405d0d54]
cmp eax, 0x60
jge 0x1401aa220
jmp 0x1401aa23c
cmp al, 0x5b
je 0x1401aa392
mov cl, 0x9e
nop dword [rax]
mov al, 0x35
lock cmpxchg byte [0x14056ddf5], cl
je 0x1401aa325
cmp al, 0x5b
jne 0x1401aa290
jmp 0x1401aa392
mov ecx, 0x4aa6c253
mov edx, 0x6cf92e2d
call fcn.1401ad4a0
test al, 1
jne 0x1401aa3e9
mov bl, 0x2e
lea rsi, [rsp + 0x40]
nop word [rax + rax]
mov al, 0xfa
lock cmpxchg byte [0x14056dc99], bl
sete dl
mov dword [rsp + 0x20], 0xc8065800
mov ecx, eax
mov r8, rsi
mov r9d, 0x43de7e30
call fcn.1401ad850
test al, 1
jne 0x1401aa39f
movzx ecx, byte [rsp + 0x40]
mov r8d, dword [0x14056f2e0]
lea edx, [r8 + 0x28fe8734]
add r8d, 0x13362523
call fcn.1401ad480
test al, 1
je 0x1401aa2d0
jmp 0x1401aa3e9
xor edi, edi
lea r14, [0x14056dde0]
lea rbx, [rsp + 0x4c]
nop word cs:[rax + rax]
movzx edx, byte [rdi + r14]
mov qword [rsp + 0x20], rsi
mov dword [rsp + 0x30], 0x9515627b
mov dword [rsp + 0x28], 0xf7f92aff
mov rcx, rdi
mov r8d, edi
mov r9, rbx
call fcn.1401ad2a0
movzx eax, byte [rsp + 0x4c]
mov rcx, qword [rsp + 0x40]
mov byte [rcx + r14], al
lea eax, [rdi + 1]
cmp eax, 0x14
jg 0x1401aa383
inc rdi
jmp 0x1401aa340
movzx eax, byte [0x14056f2f0]
add al, 0x2a
xchg byte [0x14056ddf5], al
mov eax, dword [0x1405d0d54]
cmp eax, 0x3a
jle 0x1401aa3f5
jmp 0x1401aa400
xor eax, eax
lea rcx, [0x14056dc90]
lea rdx, [0x14048f330]
mov r8d, 0x2683e71b
nop word cs:[rax + rax]
movzx r9d, byte [rax + rdx]
add byte [rax + rcx], r9b
lea r9d, [rax + 1]
mov r10d, dword [0x14056f2e0]
add r10d, r8d
cmp r9d, r10d
jge 0x1401aa3e1
inc rax
jmp 0x1401aa3c0
mov al, 0xeb
xchg byte [0x14056dc99], al
lea rax, [0x14056dc90]
jmp 0x1401aa1bc
mov eax, dword [0x1405d0d54]
cmp eax, 0x4f
jl 0x1401aa42c
lea rsi, [rsp + 0x40]
nop word cs:[rax + rax]
mov rcx, rsi
mov edx, 0xb2ff973
mov r8d, 0x9eb31f4a
call fcn.1401ad430
cmp dword [rsp + 0x40], 0x5a
jge 0x1401aa410
jmp 0x1401aa3f5
lea rax, [0x14056dde0]
jmp 0x1401aa1bc