Function at 0x140074470
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 [0x141dc8d48]
xor eax, dword [0x141dc8d4c]
or eax, 0x64185b1f
add eax, 0x5212a617
xor eax, 0xaa94a600
cmp eax, 0x7e37a2d4
jb 0x140074480
mov r14, qword [rsi]
mov rax, qword [r14 + 0x18]
test rax, rax
setne bl
mov rdi, qword [r14 + 0x20]
test rdi, rdi
setne bpl
test rax, rax
je 0x1400746ec
test rdi, rdi
je 0x1400746ec
mov r15, qword [r14 + 0x28]
mov eax, dword [0x141dc8d50]
add eax, dword [0x141dc8d54]
or eax, 0x4a9a6f54
imul eax, eax, 0x39b9122a
add eax, 0xe527f0d9
cmp eax, 0x39f72405
jb 0x1400744d0
nop word cs:[rax + rax]
mov eax, dword [0x141dc8d58]
xor eax, dword [0x141dc8d5c]
or eax, 0xd1b49928
imul eax, eax, 0xaa383577
xor eax, 0x9a6e3ca9
cmp eax, 0x2ba0fc49
jb 0x140074500
mov rax, qword [r15]
test rax, rax
je 0x140074560
mov rcx, rdi
call rax
mov eax, dword [0x141dc8d60]
xor eax, dword [0x141dc8d64]
imul rax, rax, 0x55153855
shr rax, 0x3e
imul eax, eax, 0xd064d7b0
cmp eax, 0x3f75c7c1
ja 0x140074530
nop word cs:[rax + rax]
mov eax, dword [0x141dc8d68]
sub eax, dword [0x141dc8d6c]
or eax, 0xf69dd57e
and eax, 0xfeddd57e
cmp eax, 0xf221af4a
jb 0x140074560
mov rax, qword [r15 + 8]
nop word cs:[rax + rax]
mov ecx, dword [0x141dc8d70]
or ecx, dword [0x141dc8d74]
imul ecx, ecx, 0x28d6e0fa
add ecx, 0xc52caca4
xor ecx, 0x9bbf0df9
cmp ecx, 0xd4b01803
ja 0x140074590
test rax, rax
je 0x1400746ec
mov rax, qword [r15 + 0x10]
nop word cs:[rax + rax]
mov ecx, dword [0x141dc8d78]
sub ecx, dword [0x141dc8d7c]
xor ecx, 0x8758d1d5
add ecx, 0xac1157e7
cmp ecx, 0x1c7e91b6
jb 0x1400745d0
cmp rax, 0x11
jb 0x14007468a
nop word [rax + rax]
mov eax, dword [0x141dc8d80]
xor eax, dword [0x141dc8d84]
add eax, 0xc8ca20ca
xor eax, 0xb2d3f4bb
cmp eax, 0xf67d022c
jb 0x140074600
mov eax, dword [str.uO_]
xor edx, edx
div dword [0x141dc8d8c]
nop dword [rax + rax]
mov eax, dword [0x141dc8d90]
or eax, dword [0x141dc8d94]
xor eax, 0x5e916721
imul eax, eax, 0x5838c02a
cmp eax, 0x5b98c2bd
je 0x140074630
mov rdi, qword [rdi - 8]
nop word cs:[rax + rax]
mov eax, dword [0x141dc8d98]
mov ecx, dword [0x141dc8d9c]
add eax, ecx
add eax, 0x417d3f3c
imul rax, rax, 0x7fb78ae5
shr rax, 0x3e
add eax, 0x334c9a0d
cmp eax, 0x979a8fe6
ja 0x140074660
mov eax, dword [0x141dc8da0]
sub eax, dword [0x141dc8da4]
add eax, 0x7349f8d2
or eax, 0x76f1f84c
cmp eax, 0x2d517d38
jb 0x1400746d8
mov r15d, dword [0x141dc8da8]
imul r15d, dword [0x141dc8dac]
and r15d, 0x20040002
mov rcx, qword [0x141dd7fe0]
xor edx, edx
mov r8, rdi
call qword [sym.imp.KERNEL32.dll_HeapFree]
cmp r15d, 0x55367b53
jbe 0x1400746ec
mov rcx, qword [0x141dd7fe0]
xor edx, edx
mov r8, rdi
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x1400746a7
lea rdi, [r14 + 0x10]
and bl, bpl
mov eax, dword [0x141dc8db0]
xor edx, edx
div dword [0x141dc8db4]
add eax, 0x7fedb85a
or eax, 0x85080040
and eax, 0xcd580878
cmp eax, 0x9c0d4f1
jb 0x140074725
mov qword [r14 + 0x18], 0
xor eax, eax
test al, al
je 0x14007472f
mov qword [r14 + 0x18], 0
jmp 0x140074717
mov r15, qword [rdi]
nop word cs:[rax + rax]
mov eax, dword [0x141dc8db8]
add eax, dword [0x141dc8dbc]
or eax, 0xb80aed52
imul rax, rax, 0x14a131e7
shr rax, 0x3c
or eax, 0x8c5c34c2
cmp eax, 0x2798fea9
jb 0x140074740
test r15, r15
je 0x140074c26
mov eax, dword [0x141dc8dc0]
xor edx, edx
div dword [0x141dc8dc4]
nop
mov eax, dword [0x141dc8dc8]
imul eax, dword [0x141dc8dcc]
add eax, 0xdd5cca27
cmp eax, 0x7413e591
ja 0x140074780
test bl, bl
je 0x1400747c7
nop dword [rax]
mov eax, dword [0x141dc8de0]
or eax, dword [0x141dc8de4]
or eax, 0x809855ea
and eax, 0xdcd957fa
xor eax, 0x67d90f5a
cmp eax, 0x4b584ae9
jb 0x1400747a0
mov byte [r15 + 0x20], 1
lea rcx, [r15 + 0x18]
mov eax, dword [0x141dc8dd0]
xor eax, dword [0x141dc8dd4]
imul eax, eax, 0x1f4a418d
cmp eax, 0xece2c34a
jne 0x1400747f0
lock dec qword [rcx]
nop dword [rax + rax]
mov eax, dword [0x141dc8dd8]
xor edx, edx
div dword [0x141dc8ddc]
imul rdx, rax, 0x5c8d5fc3
shr rdx, 0x3b
xor edx, 0xa994a079
lock dec qword [rcx]
sete al
cmp edx, 0xe318fe4c
ja 0x1400747f0
test al, al
je 0x14007491e
mov rbx, qword [r15 + 0x10]
add rbx, 0x30
nop
mov eax, dword [0x141dc8de8]
sub eax, dword [0x141dc8dec]
or eax, 0xc4d4e08e
xor eax, 0xf3faaaa0
imul eax, eax, 0xa9374299
cmp eax, 0x9b0b950f
je 0x140074830
mov eax, dword [0x141dc8df0]
xor edx, edx
div dword [0x141dc8df4]
imul eax, eax, 0x489ad853
cmp eax, 0x937ee96e
je 0x140074896
mov eax, dword [0x141dc8df8]
sub eax, dword [0x141dc8dfc]
add eax, 0xd72f1505
and eax, 0xe25d9ef2
imul ecx, eax, 0x446d7a93
mov al, 1
xchg byte [rbx], al
cmp ecx, 0x26ba6099
jae 0x14007489c
mov al, 1
xchg byte [rbx], al
jmp 0x14007486e
cmp al, 0xff
jne 0x14007491e
mov eax, dword [0x141dc8e00]
xor eax, dword [0x141dc8e04]
xor eax, 0x317b04ef
add eax, 0xd816bc98
xor eax, 0x6d5fc8d4
cmp eax, 0xc90819d
jb 0x1400748ed
mov eax, dword [str.2_m]
xor edx, edx
div dword [0x141dc8e0c]
imul ebp, eax, 0xf301518f
or ebp, 0xf67efc9b
mov rcx, rbx
call qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressSingle]
cmp ebp, 0x25e70407
jne 0x140074900
mov rcx, rbx
call qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressSingle]
jmp 0x1400748c2
mov eax, dword [0x141dc8e10]
xor eax, dword [0x141dc8e14]
xor eax, 0x3689041b
imul eax, eax, 0x83785a6e
cmp eax, 0xb0708ba4
je 0x140074900
mov eax, dword [0x141dc8e18]
and eax, dword [0x141dc8e1c]
and eax, 0x11f3650c
add eax, 0xc3374457
and eax, 0xc2ec2d3a
cmp eax, 0xf8b556f3
jbe 0x140074944
lock dec qword [r15]
mov eax, 0xa1d1fe99
nop dword [rax]
mov edx, dword [0x141dc8e20]
or edx, dword [0x141dc8e24]
add edx, 0xbee59b21
imul rdx, rax
shr rdx, 0x3f
mov rcx, 0xffffffffffffffff
lock xadd qword [r15], rcx
cmp edx, 0xadbbda1a
ja 0x140074950
nop
mov eax, dword [0x141dc8e28]
or eax, dword [0x141dc8e2c]
imul eax, eax, 0x2b4f5259
and eax, 0x57670656
cmp eax, 0x8a54bbe4
ja 0x140074980
cmp rcx, 1
jne 0x140074a10
mov eax, dword [0x141dc8e30]
xor edx, edx
div dword [0x141dc8e34]
or eax, 0x4000018
xor eax, 0x441c0018
or eax, 0xabc27fe7
cmp eax, 0xf4f5bc11
ja 0x1400749ce
xor eax, eax
test al, al
je 0x1400749d0
jmp 0x1400749c8
mov rcx, rdi
call fcn.140074f20
nop dword [rax + rax]
mov eax, dword [0x141dc8e38]
sub eax, dword [0x141dc8e3c]
and eax, 0xd7b8d813
imul eax, eax, 0x1de6982f
or eax, 0xfc76c2b
cmp eax, 0xeabad3db
ja 0x1400749e0
nop word cs:[rax + rax]
mov eax, dword [0x141dc8e40]
imul eax, dword [0x141dc8e44]
imul eax, eax, 0xc75d4cc9
add eax, 0x66bb1a32
cmp eax, 0x35b371bb
ja 0x140074a10
mov rax, qword [r14 + 0x18]
mov ecx, 0xb2be6a27
nop dword [rax + rax]
mov edx, dword [0x141dc8e48]
add edx, dword [0x141dc8e4c]
imul rdx, rcx
shr rdx, 0x3f
imul edx, edx, 0xc7117628
shr edx, 5
imul rdx, rdx, 0x20b9847
shr rdx, 0x33
cmp edx, 0xe6188124
ja 0x140074a40
mov ecx, dword [0x141dc8e50]
sub ecx, dword [0x141dc8e54]
imul ecx, ecx, 0x58e5ff57
add ecx, 0x946b1f93
or ecx, 0x26572fde
cmp ecx, 0x96b4fcb4
ja 0x140074a70
test rax, rax
je 0x140074c26
mov rdi, qword [r14 + 0x20]
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x140074ab0
test rdi, rdi
je 0x140074c26
mov rbx, qword [r14 + 0x28]
mov r14, qword [rbx]
nop word cs:[rax + rax]
mov eax, dword [0x141dc8e58]
add eax, dword [0x141dc8e5c]
or eax, 0x9ffb4f7f
and eax, 0xbffb5fff
cmp eax, 0xddc008e
je 0x140074ad0
test r14, r14
je 0x140074b60
mov eax, dword [0x141dc8e60]
xor eax, dword [0x141dc8e64]
and eax, 0xc440
or eax, 0xf71109b3
imul eax, eax, 0x219a249b
cmp eax, 0xb2db33d3
jbe 0x140074b20
mov rcx, rdi
call r14
nop dword [rax + rax]
mov eax, dword [0x141dc8e68]
imul eax, dword [0x141dc8e6c]
imul r15, rax, 0x2a9b7499
shr r15, 0x3d
add r15d, 0x984fa969
or r15d, 0x50f203c8
mov rcx, rdi
call r14
cmp r15d, 0x59257c2e
je 0x140074b20
nop word cs:[rax + rax]
mov eax, dword [0x141dc8e70]
xor eax, dword [0x141dc8e74]
and eax, 0xee7a519f
imul eax, eax, 0xf057cc9e
add eax, 0x21251451
cmp eax, 0xaa0497f3
jb 0x140074b60
mov rax, qword [rbx + 8]
nop word [rax + rax]
mov ecx, dword [0x141dc8e78]
xor ecx, dword [0x141dc8e7c]
xor ecx, 0x8000
or ecx, 0xfe7f3fef
cmp ecx, 0x890f802
jb 0x140074b90
test rax, rax
je 0x140074c26
cmp qword [rbx + 0x10], 0x11
jb 0x140074c14
nop dword [rax]
mov eax, dword [0x141dc8e80]
xor eax, dword [0x141dc8e84]
xor eax, 0x410c5888
and eax, 0x558e5cda
add eax, 0x217293ea
cmp eax, 0x7ef6e15
jb 0x140074bc0
mov rdi, qword [rdi - 8]
nop word cs:[rax + rax]
mov eax, dword [0x141dc8e88]
imul eax, dword [0x141dc8e8c]
or eax, 0x2c5de8a8
imul eax, eax, 0xd92e9e4
or eax, 0x774fab40
cmp eax, 0xd04db880
je 0x140074bf0
mov rcx, qword [0x141dd7fe0]
xor edx, edx
mov r8, rdi
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rsi, qword [rsi]
nop dword [rax]
mov eax, dword [0x141dc8e90]
imul eax, dword [0x141dc8e94]
xor eax, 0x5000000
or eax, 0xd85e74e7
and eax, 0xddde74ef
cmp eax, 0x47172056
je 0x140074c30
cmp rsi, 0xffffffffffffffff
je 0x140074cd3
lock dec qword [rsi + 8]
jne 0x140074cd3
mov rdi, qword [0x141dd7fe0]
mov eax, dword [0x141dc8e98]
or eax, dword [0x141dc8e9c]
imul rcx, rax, 0x5c47bf8d
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1f
lea eax, [rax*4 + 0x19e14c7d]
cmp eax, 0x101c0964
jb 0x140074cc3
mov eax, dword [0x141dc8ea0]
or eax, dword [0x141dc8ea4]
imul ebx, eax, 0x5a71cf26
add ebx, 0x435b661
mov rcx, rdi
xor edx, edx
mov r8, rsi
call qword [sym.imp.KERNEL32.dll_HeapFree]
cmp ebx, 0x229f2f65
jae 0x140074cd3
mov rcx, rdi
xor edx, edx
mov r8, rsi
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x140074c95
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret