Function at 0x14007ae30
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rsi, rcx
mov r14, qword [rcx]
lea rdi, [r14 + 0x10]
mov rcx, qword [r14 + 0x18]
mov rbx, qword [r14 + 0x20]
mov eax, dword [0x141f394a0]
xor edx, edx
div dword [0x141f394a4]
test rbx, rbx
setne al
test rcx, rcx
setne bpl
mov edx, dword [0x141f394a8]
xor edx, dword [0x141f394ac]
imul rdx, rdx, 0x2da47781
shr rdx, 0x3c
or edx, 0x58005020
cmp edx, 0x9e345ccc
ja 0x14007ae60
and bpl, al
xor eax, eax
nop word [rax + rax]
test al, al
jne 0x14007aea0
test rcx, rcx
je 0x14007b13d
mov r15, qword [r14 + 0x28]
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x14007aec0
test rbx, rbx
je 0x14007b13d
mov eax, dword [0x141f394b0]
xor edx, edx
div dword [0x141f394b4]
nop dword [rax + rax]
mov eax, dword [0x141f394b8]
or eax, dword [0x141f394bc]
and eax, 0xfaded204
imul rcx, rax, 0x134c5371
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1d
xor eax, 0x1259b492
cmp eax, 0x46f7f5c2
ja 0x14007aee0
mov r12, qword [r15]
nop word cs:[rax + rax]
mov eax, dword [0x141f394c0]
add eax, dword [0x141f394c4]
and eax, 0x8809008
or eax, 0xb77f2ee7
xor eax, 0xb9c043dd
cmp eax, 0x530be0ed
ja 0x14007af20
test r12, r12
je 0x14007afc0
mov eax, dword [0x141f394c8]
sub eax, dword [0x141f394cc]
or eax, 0x5ee5b079
imul rax, rax, 0x1322e42d
shr rax, 0x3c
or eax, 0x1c466700
cmp eax, 0x96eacdf9
jbe 0x14007af80
mov rcx, rbx
call r12
nop word cs:[rax + rax]
mov r13d, dword [0x141f394d0]
and r13d, dword [0x141f394d4]
add r13d, 0xaaff760
xor r13d, 0x30870040
and r13d, 0x33d719e6
mov rcx, rbx
call r12
cmp r13d, 0x2687e990
ja 0x14007af80
nop word cs:[rax + rax]
mov eax, dword [0x141f394d8]
xor eax, dword [0x141f394dc]
add eax, 0xea717b0f
or eax, 0xb32a9ad1
xor eax, 0xcc392518
cmp eax, 0x9b73fefe
ja 0x14007afc0
mov rcx, qword [r15 + 8]
mov rax, qword [r15 + 0x10]
nop word [rax + rax]
mov edx, dword [0x141f394e0]
or edx, dword [0x141f394e4]
imul edx, edx, 0x92d7acb4
add edx, 0x8a83bc4c
and edx, 0x797770f8
cmp edx, 0xe21c512
je 0x14007aff0
test rcx, rcx
je 0x14007b13d
nop
mov ecx, dword [0x141f394e8]
imul ecx, dword [str.6__3]
imul ecx, ecx, 0xe18ef7a0
xor ecx, 0xd800421
or ecx, 0xd21cf15c
cmp ecx, 0x72be7230
jb 0x14007b020
cmp rax, 0x11
jb 0x14007b0c8
mov eax, dword [0x141f394f0]
xor edx, edx
div dword [0x141f394f4]
nop dword [rax + rax]
mov eax, dword [0x141f394f8]
mov ecx, dword [0x141f394fc]
add eax, ecx
add eax, 0x592d0b05
imul rcx, rax, 0xae9cf79
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1f
or eax, 0x758892c6
cmp eax, 0x9b8a4ec9
ja 0x14007b060
mov rbx, qword [rbx - 8]
nop word [rax + rax]
mov eax, dword [0x141f39500]
and eax, dword [0x141f39504]
add eax, 0x78f6887d
xor eax, 0x5f308dfa
imul rax, rax, 0x1909c9f5
shr rax, 0x39
cmp eax, 0x24a3ac9
je 0x14007b0a0
mov eax, dword [0x141f39508]
or eax, dword [0x141f3950c]
add eax, 0x6caf5e78
cmp eax, 0x31ef2d14
jae 0x14007b0f2
mov rcx, qword [0x141f49060]
xor edx, edx
mov r8, rbx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r15, qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax]
mov eax, dword [0x141f39510]
mov ecx, dword [0x141f39514]
lea r12d, [rax + rcx]
add r12d, 0x2f88a33f
or r12d, 0xfd29a72a
add r12d, 0x4f434d99
mov rcx, qword [0x141f49060]
xor edx, edx
mov r8, rbx
call r15
cmp r12d, 0x961346f9
ja 0x14007b100
mov qword [r14 + 0x18], 0
mov r15, qword [r14 + 0x10]
nop dword [rax]
mov eax, dword [0x141f39518]
imul eax, dword [0x141f3951c]
or eax, 0x9efa5bf7
add eax, 0x9636a0e0
cmp eax, 0xb5953b22
ja 0x14007b150
test r15, r15
je 0x14007b596
test bpl, bpl
je 0x14007b1c3
mov eax, dword [0x141f39538]
xor edx, edx
div dword [0x141f3953c]
imul eax, eax, 0xa82d164d
cmp eax, 0x877d3852
jne 0x14007b1a0
mov byte [r15 + 0x20], 1
nop dword [rax]
mov eax, dword [0x141f39540]
and eax, dword [0x141f39544]
imul eax, eax, 0x96554682
add eax, 0x3d6e251f
mov byte [r15 + 0x20], 1
cmp eax, 0x54edd552
ja 0x14007b1a0
mov ecx, dword [0x141f39520]
add ecx, dword [0x141f39524]
lea rax, [r15 + 0x18]
imul ecx, ecx, 0x90f38e3
add ecx, 0xfce13c14
cmp ecx, 0x69aa90f1
jb 0x14007b208
mov edx, dword [0x141f39528]
and edx, dword [str.S_tG]
or edx, 0x5b9b406c
lock dec qword [rax]
sete cl
cmp edx, 0x972202c2
jne 0x14007b210
lock dec qword [rax]
jmp 0x14007b1e7
mov eax, dword [0x141f39530]
or eax, dword [0x141f39534]
imul eax, eax, 0x7a5d4c5d
cmp eax, 0xc0678124
je 0x14007b210
test cl, cl
je 0x14007b2d4
nop word cs:[rax + rax]
mov eax, dword [0x141f39548]
sub eax, dword [0x141f3954c]
imul eax, eax, 0xb14d9ad3
add eax, 0x74f60485
cmp eax, 0xfba5a301
ja 0x14007b240
mov rbx, qword [r15 + 0x10]
add rbx, 0x30
mov al, 1
xchg byte [rbx], al
cmp al, 0xff
jne 0x14007b2d4
mov eax, dword [0x141f39550]
sub eax, dword [0x141f39554]
add eax, 0x56c22282
and eax, 0x1504203b
imul eax, eax, 0xa9002157
cmp eax, 0x7b59393
jb 0x14007b2a0
mov rcx, rbx
call qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressSingle]
xor eax, eax
test al, al
je 0x14007b2b0
mov rcx, rbx
call qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressSingle]
jmp 0x14007b291
mov eax, dword [str.rB__]
mov ecx, dword [0x141f3955c]
add eax, ecx
add eax, 0xcf34429f
or eax, 0xd1914033
and eax, 0xddb3d1f7
cmp eax, 0x4081e2ef
je 0x14007b2b0
mov eax, dword [0x141f39560]
imul eax, dword [str.cx9_]
and eax, 0xf40f0a4
add eax, 0xcbb00960
or eax, 0xcb50badb
cmp eax, 0xce0b2b4a
je 0x14007b31e
mov eax, dword [0x141f39568]
and eax, dword [0x141f3956c]
imul ecx, eax, 0xd27c5088
add ecx, 0x4c5ec660
lock dec qword [r15]
sete al
cmp ecx, 0x97cba848
jae 0x14007b324
lock dec qword [r15]
jmp 0x14007b2f7
test al, al
je 0x14007b373
mov eax, dword [0x141f39570]
sub eax, dword [0x141f39574]
imul eax, eax, 0xd53c1cfd
cmp eax, 0xbdcf29ed
je 0x14007b369
mov eax, dword [0x141f39578]
sub eax, dword [0x141f3957c]
imul ebx, eax, 0x270ba408
or ebx, 0x8fbb77ea
mov rcx, rdi
call fcn.14007b900
cmp ebx, 0xdfd9157e
jne 0x14007b373
mov rcx, rdi
call fcn.14007b900
jmp 0x14007b341
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x14007b380
cmp qword [r14 + 0x18], 0
je 0x14007b596
nop
mov eax, dword [0x141f39580]
add eax, dword [0x141f39584]
xor eax, 0xe6b8cdc0
imul rax, rax, 0x32371ab
shr rax, 0x37
cmp eax, 0xc694052
ja 0x14007b390
mov rdi, qword [r14 + 0x20]
test rdi, rdi
je 0x14007b596
mov rbx, qword [r14 + 0x28]
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x14007b3d0
mov r14, qword [rbx]
test r14, r14
je 0x14007b44e
mov eax, dword [0x141f39588]
xor eax, dword [0x141f3958c]
imul eax, eax, 0x4b0cc239
xor eax, 0x64df8403
cmp eax, 0x7a3e4b4d
ja 0x14007b425
mov eax, dword [0x141f39590]
and eax, dword [0x141f39594]
and eax, 0xb12c27
imul ebp, eax, 0x305bc514
add ebp, 0xfd908808
mov rcx, rdi
call r14
cmp ebp, 0x6b9e08ba
jbe 0x14007b430
mov rcx, rdi
call r14
jmp 0x14007b3fa
mov eax, dword [0x141f39598]
sub eax, dword [0x141f3959c]
imul eax, eax, 0x5fbc0afd
add eax, 0x938ea834
cmp eax, 0x537cd5c2
jb 0x14007b430
mov rax, qword [rbx + 8]
nop word cs:[rax + rax]
mov ecx, dword [0x141f395a0]
imul ecx, dword [0x141f395a4]
imul ecx, ecx, 0x20fab113
xor ecx, 0xb8ece440
add ecx, 0xa5f5b635
cmp ecx, 0x3507b2ca
jb 0x14007b460
test rax, rax
je 0x14007b596
mov rax, qword [rbx + 0x10]
nop word cs:[rax + rax]
mov ecx, dword [0x141f395a8]
sub ecx, dword [0x141f395ac]
imul ecx, ecx, 0xcdbffad0
add ecx, 0x1934c051
and ecx, 0xb64cd270
cmp ecx, 0xc1617c0b
je 0x14007b4a0
cmp rax, 0x11
jb 0x14007b522
nop dword [rax]
mov eax, dword [0x141f395b0]
imul eax, dword [0x141f395b4]
add eax, 0xfcd1a357
or eax, 0xfbbefbdf
cmp eax, 0x92d03dea
je 0x14007b4d0
mov rdi, qword [rdi - 8]
nop word cs:[rax + rax]
mov eax, dword [0x141f395b8]
add eax, dword [0x141f395bc]
and eax, 0xb5944b3e
xor eax, 0x25ddb52f
add eax, 0xe9604e87
cmp eax, 0xca2ae752
ja 0x14007b500
mov eax, dword [0x141f395c0]
or eax, dword [0x141f395c4]
mov ecx, 0xb4561e2d
imul rcx, rax
shr rcx, 0x3f
add ecx, 0x60afb80f
cmp ecx, 0xbc0d4ab3
ja 0x14007b582
mov ebx, dword [0x141f395c8]
imul ebx, dword [0x141f395cc]
add ebx, 0x1ce4cb5
xor ebx, 0x65bf583a
add ebx, 0xd4459c8f
mov rcx, qword [0x141f49060]
xor edx, edx
mov r8, rdi
call qword [sym.imp.KERNEL32.dll_HeapFree]
cmp ebx, 0xd9440929
jbe 0x14007b596
mov rcx, qword [0x141f49060]
xor edx, edx
mov r8, rdi
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x14007b549
mov r8, qword [rsi]
nop dword [rax]
mov eax, dword [0x141f395d0]
xor edx, edx
div dword [0x141f395d4]
cmp eax, 0xc0cfd810
je 0x14007b5a0
cmp r8, 0xffffffffffffffff
je 0x14007b5e2
lock dec qword [r8 + 8]
jne 0x14007b5e2
mov rcx, qword [0x141f49060]
xor edx, edx
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp qword [sym.imp.KERNEL32.dll_HeapFree]
nop
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret