Function at 0x140077980
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rsi, rcx
nop
mov eax, dword [0x141dcce40]
and eax, dword [0x141dcce44]
and eax, 0x4ca01456
cmp eax, 0x4898234
je 0x140077990
mov rbx, qword [rsi]
mov rax, qword [rbx + 0x18]
test rax, rax
setne bpl
mov rdi, qword [rbx + 0x20]
test rdi, rdi
setne r14b
test rax, rax
je 0x140077b7a
nop word [rax + rax]
mov eax, dword [0x141dcce48]
or eax, dword [0x141dcce4c]
and eax, 0xd1c6dfef
imul eax, eax, 0xf2cee75
add eax, 0x8f925b7b
cmp eax, 0x6e70a40e
ja 0x1400779d0
test rdi, rdi
je 0x140077b7a
mov r15, qword [rbx + 0x28]
mov eax, dword [0x141dcce50]
xor edx, edx
div dword [0x141dcce54]
shr eax, 3
imul rax, rax, 0x4966b25
shr rax, 0x35
cmp eax, 0xebe317c7
je 0x140077a00
nop word cs:[rax + rax]
mov eax, dword [0x141dcce58]
add eax, dword [0x141dcce5c]
cmp eax, 0x156e649
je 0x140077a30
mov r8, qword [r15]
nop word cs:[rax + rax]
mov eax, dword [0x141dcce60]
xor edx, edx
div dword [0x141dcce64]
imul eax, eax, 0xb3f2b0ac
or eax, 0xc3deece6
cmp eax, 0x87c5a198
je 0x140077a50
test r8, r8
je 0x140077aa0
mov rcx, rdi
call r8
nop dword [rax + rax]
mov eax, dword [0x141dcce68]
xor eax, dword [0x141dcce6c]
add eax, 0x25833fa5
xor eax, 0x18e0a7d8
cmp eax, 0x633a59c2
ja 0x140077a80
nop dword [rax]
mov eax, dword [0x141dcce70]
add eax, dword [0x141dcce74]
imul eax, eax, 0xb331956
add eax, 0x85cafd3e
cmp eax, 0x38f85fb8
jb 0x140077aa0
cmp qword [r15 + 8], 0
je 0x140077b7a
cmp qword [r15 + 0x10], 0x11
jb 0x140077b22
mov eax, dword [0x141dcce78]
or eax, dword [0x141dcce7c]
or eax, 0xa5b89064
imul eax, eax, 0xa618a89e
cmp eax, 0xaf62735
je 0x140077ad0
mov rdi, qword [rdi - 8]
nop word cs:[rax + rax]
mov eax, dword [0x141dcce80]
and eax, dword [0x141dcce84]
or eax, 0x75bdcd0
add eax, 0x5366c820
or eax, 0xfaf9eafa
cmp eax, 0xa118b5b7
je 0x140077b00
mov eax, dword [0x141dcce88]
and eax, dword [0x141dcce8c]
imul eax, eax, 0xe583024c
imul rax, rax, 0x37ffbdfd
shr rax, 0x3d
imul eax, eax, 0xc9ccf718
cmp eax, 0xeefb0a41
je 0x140077b66
mov rcx, qword [0x141ddc4e0]
xor r15d, r15d
xor edx, edx
mov r8, rdi
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r15b, r15b
je 0x140077b7a
mov rcx, qword [0x141ddc4e0]
xor edx, edx
mov r8, rdi
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x140077b4c
mov eax, dword [0x141dcce90]
imul eax, dword [0x141dcce94]
xor eax, 0x94725212
add eax, 0xb5f5f8e2
and eax, 0xfb4ae93f
cmp eax, 0x51d57d4c
jae 0x140077ba5
mov qword [rbx + 0x18], 0
lea rdi, [rbx + 0x10]
and bpl, r14b
nop dword [rax]
mov eax, dword [0x141dcce98]
or eax, dword [0x141dcce9c]
xor eax, 0x186ecfa7
add eax, 0xb5a47673
mov qword [rbx + 0x18], 0
cmp eax, 0xf5ab5f9d
ja 0x140077bb0
mov eax, 0xc6c65f03
nop word [rax + rax]
mov ecx, dword [0x141dccea0]
or ecx, dword [0x141dccea4]
imul rcx, rax
shr rcx, 0x3e
imul ecx, ecx, 0x3c66ba44
xor ecx, 0x960295f5
cmp ecx, 0x114799fc
jb 0x140077be0
mov r14, qword [rdi]
test r14, r14
je 0x140077f10
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x140077c20
test bpl, bpl
je 0x140077c69
nop dword [rax]
mov eax, dword [0x141dcceb0]
xor edx, edx
div dword [0x141dcceb4]
xor eax, 0xd5f4f577
imul rax, rax, 0x7b266abd
shr rax, 0x3e
add eax, 0x8418e061
cmp eax, 0x5be7108
jb 0x140077c30
xor eax, eax
test al, al
je 0x14007809f
jmp 0x1400780cd
mov rax, 0xffffffffffffffff
lock xadd qword [r14 + 0x18], rax
nop word cs:[rax + rax]
mov ecx, dword [0x141dccea8]
xor ecx, dword [0x141dcceac]
and ecx, 0xdbf0ac2
imul ecx, ecx, 0x69b6780d
add ecx, 0x89d89d5c
cmp ecx, 0x62a9551b
jb 0x140077c80
cmp rax, 1
jne 0x140077d15
xor eax, eax
nop
test al, al
jne 0x140077cb0
mov r8, qword [r14 + 0x10]
mov eax, dword [0x141dccec0]
imul eax, dword [0x141dccec4]
imul eax, eax, 0x87475e25
cmp eax, 0x78d6eebc
jne 0x140077cd8
mov al, 1
xchg byte [r8 + 0x30], al
lea rcx, [r8 + 0x30]
nop dword [rax]
mov eax, dword [0x141dccec8]
xor edx, edx
div dword [0x141dccecc]
and eax, 0x5872ffc8
xor eax, 0x23797e10
add eax, 0xae0485f4
mov dl, 1
xchg byte [r8 + 0x30], dl
cmp eax, 0xe132092a
ja 0x140077ce0
cmp dl, 0xff
jne 0x140077d15
call qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressSingle]
lock dec qword [r14]
jne 0x140077dae
mov eax, dword [0x141dcced0]
add eax, dword [0x141dcced4]
imul eax, eax, 0x5d9b9559
add eax, 0xe4995ba3
or eax, 0x8272fcf3
cmp eax, 0x1fcc6a0e
je 0x140077d60
mov eax, dword [0x141dcced8]
xor eax, dword [str.Sz8E]
imul eax, eax, 0x3d849d97
add eax, 0xeab5710b
cmp eax, 0xe7d0c0e1
jbe 0x140077d62
jmp 0x140077d42
mov eax, dword [0x141dccee0]
add eax, dword [0x141dccee4]
or eax, 0x1bb03cc9
mov ecx, 0xc03b1401
imul rcx, rax
shr rcx, 0x3f
cmp ecx, 0xca46400a
je 0x140077da4
mov ebp, dword [0x141dccee8]
add ebp, dword [0x141dcceec]
mov rcx, rdi
call fcn.1400782d0
cmp ebp, 0x17ffbd2
jne 0x140077dae
mov rcx, rdi
call fcn.1400782d0
jmp 0x140077d88
mov eax, dword [0x141dccef0]
xor edx, edx
div dword [0x141dccef4]
mov eax, 0xb1363dc5
nop word cs:[rax + rax]
mov ecx, dword [0x141dccef8]
and ecx, dword [0x141dccefc]
imul rcx, rax
shr rcx, 0x3f
add ecx, 0xc0fd8b25
or ecx, 0xd67e5018
cmp ecx, 0x32e6674d
jb 0x140077dd0
mov rax, qword [rbx + 0x18]
nop dword [rax]
mov ecx, dword [0x141dccf00]
sub ecx, dword [0x141dccf04]
xor ecx, 0x5d70d823
imul ecx, ecx, 0xa6aa7c44
or ecx, 0xa79ac9ce
cmp ecx, 0x9b80e2c5
jb 0x140077e00
test rax, rax
je 0x140077f10
mov rdi, qword [rbx + 0x20]
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x140077e40
test rdi, rdi
je 0x140077f10
mov rbx, qword [rbx + 0x28]
nop word cs:[rax + rax]
mov eax, dword [0x141dccf08]
sub eax, dword [0x141dccf0c]
or eax, 0x824fcf70
add eax, 0xefb03c77
or eax, 0x2cb46273
cmp eax, 0x2895d9b9
jb 0x140077e60
mov r14, qword [rbx]
test r14, r14
je 0x140077ed1
mov eax, dword [0x141dccf10]
imul eax, dword [0x141dccf14]
imul eax, eax, 0x189e5ef
cmp eax, 0x9d9405e2
je 0x140077ec9
mov eax, dword [0x141dccf18]
or eax, dword [0x141dccf1c]
and eax, 0xab8334a6
imul ebp, eax, 0xa27a4893
mov rcx, rdi
call r14
cmp ebp, 0x4a806bfb
jne 0x140077ed1
mov rcx, rdi
call r14
jmp 0x140077ea4
cmp qword [rbx + 8], 0
je 0x140077f10
cmp qword [rbx + 0x10], 0x11
jb 0x140077ef8
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x140077ef0
mov rdi, qword [rdi - 8]
mov rcx, qword [0x141ddc4e0]
xor edx, edx
mov r8, rdi
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop word [rax + rax]
mov eax, dword [0x141dccf20]
or eax, dword [0x141dccf24]
add eax, 0x7bc8a917
or eax, 0x3d90192c
cmp eax, 0xcea231b9
je 0x140077f10
mov r8, qword [rsi]
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x140077f40
cmp r8, 0xffffffffffffffff
je 0x140078001
mov eax, dword [0x141dccf28]
xor eax, dword [0x141dccf2c]
add eax, 0xa866fa3a
xor eax, 0x37f3c662
imul rax, rax, 0x509b79e5
shr rax, 0x3d
cmp eax, 0xea277e00
ja 0x140077fa9
mov eax, dword [0x141dccf30]
sub eax, dword [0x141dccf34]
imul ecx, eax, 0xf1277945
add ecx, 0x585a8fa5
xor ecx, 0x2099019a
mov rax, 0xffffffffffffffff
lock xadd qword [r8 + 8], rax
cmp ecx, 0x93384da2
jbe 0x140077fb0
lock dec qword [r8 + 8]
jmp 0x140077f76
mov ecx, dword [0x141dccf38]
sub ecx, dword [0x141dccf3c]
imul ecx, ecx, 0x869a58e7
or ecx, 0xf12b7929
xor ecx, 0xa272cf4a
cmp ecx, 0x588617ba
jb 0x140077fb0
cmp rax, 1
jne 0x140078001
mov eax, dword [0x141dccf40]
or eax, dword [0x141dccf44]
add eax, 0xdc0ce2b6
imul rax, rax, 0x47e2e5b3
shr rax, 0x3d
cmp eax, 0xae6b7071
jbe 0x14007800e
jmp 0x140078031
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
mov eax, dword [0x141dccf48]
or eax, dword [str._yc__]
imul eax, eax, 0x203f6999
add eax, 0x89db241c
and eax, 0xf340eb58
cmp eax, 0xf537b3f0
jne 0x140078033
jmp 0x14007800e
mov eax, dword [0x141dccf50]
and eax, dword [0x141dccf54]
imul rax, rax, 0x1fac1619
shr rax, 0x3c
add eax, 0xd1da6573
and eax, 0x520542
cmp eax, 0x31458ea1
ja 0x140078081
mov eax, dword [0x141dccf58]
mov ecx, dword [0x141dccf5c]
add eax, ecx
add eax, 0xd4bc09a0
and eax, 0x53b87f97
mov rcx, qword [0x141ddc4e0]
cmp eax, 0xd337574a
jne 0x14007808a
mov rax, qword [0x141ddc4e0]
jmp 0x14007805b
xor edx, edx
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
jmp qword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, dword [0x141dcceb8]
xor edx, edx
div dword [0x141dccebc]
add eax, 0x15cd7b86
xor eax, 0x633cbfc8
imul eax, eax, 0xea1d9dd8
mov byte [r14 + 0x20], 1
cmp eax, 0x4e6d8b38
jne 0x140077c69
mov byte [r14 + 0x20], 1
jmp 0x14007809f