Function at 0x1400ab9d0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rsi, rcx
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x1400ab9f0
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x1400aba00
mov rdi, qword [rsi + 8]
movabs rax, 0x4c06f89ed0b534f1
nop word cs:[rax + rax]
mov ecx, dword [0x14021c8b8]
mov edx, dword [0x14021c8bc]
mov r8d, ecx
xor r8d, edx
not r8d
and r8d, edx
add r8d, r8d
sub edx, r8d
add edx, ecx
xor edx, 0x8a7070f3
imul ecx, edx, 0x46fe27e
cmp ecx, 0xaacee251
je 0x1400aba20
mov rbx, qword [rsi + 0x18]
cmp rbx, rdi
je 0x1400abc01
add rbx, rax
sub rbx, rdi
sub rbx, rax
shr rbx, 5
xor r14d, r14d
mov r15d, 0xa958976d
nop word [rax + rax]
mov rcx, r14
shl rcx, 5
mov rax, qword [rdi + rcx]
lock dec qword [rax]
jne 0x1400abb4e
mov eax, dword [0x14021c8c0]
mov edx, dword [0x14021c8c4]
mov r8d, eax
and r8d, edx
or eax, edx
add eax, r8d
xor eax, 0x2cc215f0
add eax, 0x5821aac4
xor eax, 0xda46cb0e
cmp eax, 0x859cd4e6
jae 0x1400abac2
add rcx, rdi
nop word cs:[rax + rax]
mov eax, dword [0x14021c8c8]
mov edx, dword [0x14021c8cc]
mov r8d, eax
and r8d, edx
add r8d, r8d
add eax, edx
sub eax, r8d
imul eax, eax, 0x3bb35798
add eax, 0x8aafe300
imul rax, rax, 0x5b1f5519
shr rax, 0x3e
cmp eax, 0x792ab216
je 0x1400abad0
call fcn.140150190
nop dword [rax]
mov eax, dword [0x14021c8d0]
mov ecx, dword [0x14021c8d4]
mov edx, eax
xor edx, ecx
not edx
or eax, ecx
and eax, edx
mov ecx, eax
not ecx
or ecx, 0x100c5880
and ecx, 0xd04c78c0
and eax, 0x532840d
or eax, ecx
xor eax, 0x2615894e
add eax, 0xce6427d4
cmp eax, 0x1a0b16e
jb 0x1400abb10
inc r14
mov eax, dword [0x14021c8d8]
imul eax, dword [0x14021c8dc]
mov ecx, eax
and ecx, 0x31ca9060
and eax, 0x30820000
add eax, eax
sub ecx, eax
add ecx, 0xfaa64a1f
mov eax, ecx
not eax
mov edx, ecx
and edx, 0x5d849a52
and eax, 0xa27a25a0
imul eax, edx
mov edx, ecx
and edx, 0xa27a402d
or ecx, 0xa27a65ad
imul ecx, edx
add ecx, eax
cmp ecx, 0x60f7bb48
je 0x1400abb51
nop word cs:[rax + rax]
mov eax, dword [0x14021c8e0]
xor edx, edx
div dword [0x14021c8e4]
mov rcx, rax
imul rcx, r15
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
mov ecx, eax
shr ecx, 0x1c
xor ecx, 0x649e7d14
shr eax, 0x1b
and eax, 0xfffffff6
sub eax, ecx
mov ecx, eax
xor ecx, 0x448c195b
and eax, 0x1361815b
or eax, ecx
cmp eax, 0x1cc775c3
jb 0x1400abbb0
cmp r14, rbx
jne 0x1400aba80
mov eax, 0xede6865d
nop word cs:[rax + rax]
mov ecx, dword [0x14021c8e8]
or ecx, dword [0x14021c8ec]
add ecx, 0x5f0a0680
mov edx, ecx
not edx
and edx, 0xe1b4493d
mov r8d, ecx
and r8d, 0x1e4bb6c2
imul r8d, edx
mov edx, ecx
and edx, 0xe1b4493d
or ecx, 0xe1b4493d
imul ecx, edx
add ecx, r8d
imul rcx, rax
shr rcx, 0x3e
cmp ecx, 0x5ba650b6
ja 0x1400abc10
cmp qword [rsi + 0x10], 0
je 0x1400abdaa
mov eax, dword [0x14021c8f0]
xor edx, edx
div dword [0x14021c8f4]
nop word [rax + rax]
mov eax, dword [0x14021c8f8]
xor eax, dword [0x14021c8fc]
not eax
or eax, 0x97386483
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0x802194c
and eax, 0xe7d5e2b2
imul eax, edx
mov edx, ecx
and edx, 0x60c58230
or ecx, 0xe7d5e2b2
imul ecx, edx
add ecx, eax
mov eax, ecx
not eax
or eax, 0x7161c90
add eax, ecx
inc eax
cmp eax, 0xf9fff880
ja 0x1400abc80
mov rdi, qword [rsi]
mov eax, dword [0x14021c900]
mov ecx, dword [0x14021c904]
mov edx, ecx
and edx, eax
add eax, ecx
sub eax, edx
imul rax, rax, 0xb9236c7
shr rax, 0x3b
imul eax, eax, 0x9a7822b
mov ecx, eax
not ecx
or ecx, 0x48bbfeb
or eax, 0x6b744014
and eax, ecx
cmp eax, 0x96094e35
jbe 0x1400abd20
mov rcx, qword [0x14022cb48]
xor edx, edx
mov r8, rdi
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rbx, qword [sym.imp.KERNEL32.dll_HeapFree]
nop word [rax + rax]
mov eax, dword [0x14021c908]
sub eax, dword [0x14021c90c]
mov ecx, eax
xor ecx, 0x2d52d4fb
add ecx, eax
and eax, 0xd2ad2b04
sub ecx, eax
mov eax, ecx
and eax, 0x54321035
add eax, eax
neg eax
lea ebp, [rcx + rax]
add ebp, 0x620d87ba
mov rcx, qword [0x14022cb48]
xor edx, edx
mov r8, rdi
call rbx
cmp ebp, 0xc565e6dd
ja 0x1400abd30
mov eax, 0xa69c0445
nop dword [rax]
mov ecx, dword [0x14021c910]
mov edx, dword [0x14021c914]
not ecx
not edx
or edx, ecx
not edx
or edx, 0xdeffdbff
imul rdx, rax
shr rdx, 0x3f
cmp edx, 0x89d67bea
ja 0x1400abd80
mov eax, dword [0x14021c918]
xor edx, edx
div dword [0x14021c91c]
nop dword [rax + rax]
mov eax, dword [0x14021c920]
xor eax, dword [0x14021c924]
and eax, 0x1256f292
xor eax, 0x907bd619
cmp eax, 0x4c066cbd
jb 0x1400abdc0
mov rdi, qword [rsi + 0x28]
mov rax, qword [rsi + 0x38]
mov rbx, rax
sub rbx, rdi
shr rbx, 4
xor ecx, ecx
nop word cs:[rax + rax]
test cl, cl
jne 0x1400abe00
cmp rax, rdi
je 0x1400abeb8
xor r14d, r14d
xor r15d, r15d
nop word cs:[rax + rax]
mov rcx, r15
shl rcx, 4
mov rax, qword [rdi + rcx]
lock dec qword [rax]
jne 0x1400abe45
add rcx, rdi
call fcn.140107af0
nop dword [rax]
test r14b, r14b
jne 0x1400abe40
mov eax, r15d
and eax, 1
or r15, 1
add r15, rax
nop word cs:[rax + rax]
mov eax, dword [0x14021c928]
xor edx, edx
div dword [0x14021c92c]
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x4e994ba4
and ecx, 0xb166b45b
imul ecx, edx
mov edx, eax
and edx, 0xb166b45b
or eax, 0xb166b45b
imul eax, edx
add eax, ecx
shr eax, 2
imul rax, rax, 0x103078f7
shr rax, 0x3a
or eax, 0xb13e0bb0
cmp eax, 0x3ca83850
jb 0x1400abe60
cmp r15, rbx
jne 0x1400abe20
mov eax, dword [0x14021c930]
xor edx, edx
div dword [0x14021c934]
nop word cs:[rax + rax]
mov eax, dword [0x14021c938]
xor eax, dword [0x14021c93c]
mov ecx, eax
xor ecx, 0x800050e4
or eax, 0x58802003
and eax, ecx
xor eax, 0xc0806080
or eax, 0x277f8f18
cmp eax, 0xe1588525
jb 0x1400abed0
mov rax, qword [rsi + 0x30]
mov ecx, dword [0x14021c940]
sub ecx, dword [0x14021c944]
or ecx, 0xfb3b7e79
add ecx, 0x8fcfde2a
cmp ecx, 0xb554b393
ja 0x1400abf00
test rax, rax
je 0x1400ac070
nop dword [rax]
mov eax, dword [0x14021c948]
sub eax, dword [0x14021c94c]
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x350253f6
and ecx, 0x4afdac09
imul ecx, edx
mov edx, eax
and edx, 0x4afdac09
or eax, 0x4afdac09
imul eax, edx
add eax, ecx
add eax, 0x297e871c
or eax, 0xa05c512f
cmp eax, 0x5abd66ad
je 0x1400abf30
mov rsi, qword [rsi + 0x20]
mov eax, dword [0x14021c950]
imul eax, dword [0x14021c954]
mov ecx, eax
not ecx
mov edx, eax
or edx, 0x2d4e334d
and ecx, 0x80214830
mov r8d, edx
and r8d, 0x5b92a783
imul r8d, ecx
and edx, 0xa46d587c
or eax, 0xad6f7b7d
imul eax, edx
add eax, r8d
add eax, 0x4757ba88
cmp eax, 0xf0f482a7
ja 0x1400abff0
mov eax, dword [0x14021c958]
mov ecx, dword [0x14021c95c]
mov edx, eax
and edx, ecx
or eax, ecx
add eax, edx
not eax
and eax, 0x2c1
or eax, 0x7f47b91e
mov rdi, qword [0x14022cb48]
cmp eax, 0xae7fbd86
jne 0x1400abff9
mov rax, qword [0x14022cb48]
jmp 0x1400abfc2
xor eax, eax
test al, al
je 0x1400ac010
mov rcx, rdi
xor edx, edx
mov r8, rsi
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax]
mov eax, dword [0x14021c960]
xor edx, edx
div dword [0x14021c964]
mov ebx, eax
not ebx
or ebx, 0x227b9d82
and eax, 0x5480421d
xor ebx, 0xab3c34e0
or ebx, eax
mov eax, ebx
not eax
and eax, 0xc3902671
mov ecx, ebx
and ecx, 0x1c04410c
imul ecx, eax
mov eax, ebx
and eax, 0xc1c3aa73
or ebx, 0xc3d3ae73
imul ebx, eax
add ebx, ecx
mov rcx, rdi
xor edx, edx
mov r8, rsi
call fcn.14014eed0
cmp ebx, 0xe16d9c8b
ja 0x1400ac010
mov eax, dword [0x14021c968]
mov ecx, dword [0x14021c96c]
mov edx, eax
not edx
and edx, ecx
not ecx
and ecx, eax
sub ecx, edx
mov eax, ecx
not eax
or ecx, 0x26faf371
or eax, 0xd9050c8e
and eax, ecx
add eax, 0xe092c9cd
or eax, 0x4c9c48c9
cmp eax, 0x92c9c7ed
je 0x1400ac070
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret