Function at 0x1401cec30
Capabilities:
Authenticate hmac
Get common file path

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x298
mov r13, rcx
mov rax, qword [0x14082e958]
xor rax, rsp
mov qword [rsp + 0x290], rax
lea rsi, [rsp + 0x80]
mov qword [rsp + 0x30], rsi
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov r8d, 0x20a
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov qword [rsp + 0x28], rsi
mov rdx, qword [rsp + 0x28]
mov ecx, 0x105
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
sete byte [rsp + 0x24]
cmp eax, 0x106
setae byte [rsp + 0x25]
mov eax, 0xbefa74d0
mov r15d, 0x7f2494c9
mov r12d, 0x9d11d58d
mov r14d, 0x8386a27
jmp 0x1401cecf0
mov rdx, qword [rsp + 0x28]
mov rcx, r13
call fcn.1401cf2a0
mov eax, dword [0x14082fd20]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0x266ecd66
mov ecx, 0x87e7b0b4
cmove eax, ecx
cmp dword [0x14082fd24], 0xa
cmovl eax, ecx
nop
cmp eax, 0xcdb94e77
jg 0x1401ced30
cmp eax, 0x9d11d58c
jg 0x1401ced70
cmp eax, 0x87e7b0b4
je 0x1401ceded
cmp eax, 0x980382cb
je 0x1401cecbb
cmp eax, 0x9aa6427b
jne 0x1401cecf0
mov rax, qword [rsp + 0x28]
mov eax, 0x8386a27
jmp 0x1401cecf0
cmp eax, 0x266ecd65
jg 0x1401cedaf
cmp eax, 0xcdb94e78
je 0x1401cedf7
cmp eax, 0x8386a27
je 0x1401cf07d
cmp eax, 0xd4fb377
jne 0x1401cecf0
mov rcx, qword [rsp + 0x28]
call sub.api_ms_win_crt_string_l1_1_0.dll_wcslen
mov word [rsp + rax*2 + 0x7e], 0
mov eax, 0xc0f8a155
jmp 0x1401cecf0
cmp eax, 0x9d11d58d
je 0x1401cf0ba
cmp eax, 0xbefa74d0
je 0x1401cf0d1
cmp eax, 0xc0f8a155
jne 0x1401cecf0
mov eax, dword [0x14082fd20]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0x266ecd66
mov ecx, 0x980382cb
jmp 0x1401cece1
cmp eax, 0x266ecd66
je 0x1401cf0f1
cmp eax, 0x387afb31
jne 0x1401cf13a
mov eax, dword [0x14082fd20]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0x9aa6427b
cmove eax, r14d
cmp dword [0x14082fd24], 0xa
cmovl eax, r14d
jmp 0x1401cecf0
mov eax, 0x5b13f5a8
jmp 0x1401cecf0
mov rax, qword [0x1403eef2e]
mov qword [rsp + 0x70], rax
movups xmm0, xmmword [0x1403eef1e]
movaps xmmword [rsp + 0x60], xmm0
movups xmm0, xmmword [0x1403eef0e]
movaps xmmword [rsp + 0x50], xmm0
mov eax, dword [0x140837c50]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x140837c54], 0xa
setl cl
or cl, al
mov r8d, 0xa51aa7ee
mov eax, 0xa6a3d9ed
cmovne r8d, eax
movups xmm0, xmmword [0x1403eeefe]
mov esi, 0xa51aa7ee
mov eax, 0x359d16c3
cmovne esi, eax
movaps xmmword [rsp + 0x40], xmm0
mov r9d, 0x93ceddff
mov eax, 0x5d16146b
cmovne r9d, eax
mov r10d, 0x93ceddff
mov eax, 0xc5346421
cmovne r10d, eax
mov ecx, 0x24c695b5
nop word cs:[rax + rax]
nop
cmp ecx, 0xb24919ef
je 0x1401cf108
cmp ecx, 0xea1acb2b
je 0x1401ceec1
cmp ecx, 0x24c695b5
jne 0x1401cee90
cmp word [rsp + 0x76], 0
mov ecx, 0xea1acb2b
mov eax, 0xb24919ef
cmove ecx, eax
jmp 0x1401cee90
mov ecx, 0x623f8bfd
xor ebx, ebx
jmp 0x1401ceee0
mov eax, dword [rsp + 0x20]
mov ecx, 0xc5346421
nop word cs:[rax + rax]
nop dword [rax]
mov edi, ecx
cmp ecx, 0x2d773972
jle 0x1401cef20
cmp edi, 0x623f8bfc
jg 0x1401cefa0
cmp edi, 0x359d16c3
je 0x1401ceffa
cmp edi, 0x5d16146b
jne 0x1401cf065
cmp byte [rsp + 0x27], 0
mov ecx, 0x2d773973
cmovne ecx, r15d
jmp 0x1401ceee0
cmp edi, 0xa6a3d9ec
jg 0x1401cefd0
cmp edi, 0x93ceddff
je 0x1401ceeca
mov ecx, edi
cmp edi, 0xa51aa7ee
jne 0x1401ceee0
movsxd rcx, dword [rsp + 0x20]
movzx eax, word [rsp + rcx*2 + 0x40]
mov edx, dword [rsp + 0x20]
mov edx, dword [rsp + 0x20]
mov edx, dword [rsp + 0x20]
mov edx, dword [rsp + 0x20]
movsxd rdx, dword [rsp + 0x20]
imul rdi, rdx, 0x5397829d
mov rbp, rdi
shr rbp, 0x3f
sar rdi, 0x24
add edi, ebp
imul ebp, edi, 0x31
sub edx, ebp
lea ebp, [rdx + 0x36]
mov edi, 0xffc9
sub edi, edx
and edi, eax
not eax
and eax, ebp
or edi, eax
mov word [rsp + rcx*2 + 0x40], di
mov eax, dword [rsp + 0x20]
mov eax, dword [rsp + 0x20]
mov ecx, 0x359d16c3
jmp 0x1401ceee0
mov ecx, esi
cmp edi, 0x7f2494c9
je 0x1401ceee0
mov ecx, edi
cmp edi, 0x623f8bfd
jne 0x1401ceee0
mov dword [rsp + 0x20], ebx
mov ecx, r10d
jmp 0x1401ceee0
cmp edi, 0xa6a3d9ed
je 0x1401cf057
mov ecx, edi
cmp edi, 0xc5346421
jne 0x1401ceee0
mov ecx, dword [rsp + 0x20]
cmp ecx, 0x1c
setl byte [rsp + 0x27]
mov ecx, r9d
jmp 0x1401ceee0
movsxd rcx, dword [rsp + 0x20]
movsxd rdi, dword [rsp + 0x20]
imul rax, rdi, 0x5397829d
mov rdx, rax
shr rdx, 0x3f
sar rax, 0x24
add eax, edx
imul eax, eax, 0x31
sub edi, eax
mov eax, 0xffc9
sub eax, edi
add edi, 0x36
and eax, 0x8267
and edi, 0x7d98
or edi, eax
xor di, word [rsp + rcx*2 + 0x40]
xor edi, 0x8267
mov word [rsp + rcx*2 + 0x40], di
mov eax, dword [rsp + 0x20]
add eax, 1
mov dword [rsp + 0x3c], eax
mov ecx, r8d
jmp 0x1401ceee0
mov ebx, dword [rsp + 0x3c]
mov ecx, 0x623f8bfd
jmp 0x1401ceee0
mov ecx, edi
cmp edi, 0x2d773973
jne 0x1401ceee0
mov ecx, 0xb24919ef
jmp 0x1401cee90
mov rcx, qword [rsp + 0x28]
call sub.api_ms_win_crt_string_l1_1_0.dll_wcslen
cmp word [rsp + rax*2 + 0x7e], 0x5c
sete byte [rsp + 0x26]
mov eax, dword [0x14082fd20]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0x9aa6427b
cmove eax, r12d
cmp dword [0x14082fd24], 0xa
cmovl eax, r12d
jmp 0x1401cecf0
cmp byte [rsp + 0x26], 0
mov eax, 0xc0f8a155
mov ecx, 0xd4fb377
cmovne eax, ecx
jmp 0x1401cecf0
mov cl, byte [rsp + 0x24]
cmp byte [rsp + 0x25], 0
mov eax, 0x387afb31
mov edx, 0xcdb94e78
cmovne eax, edx
test cl, cl
cmovne eax, edx
jmp 0x1401cecf0
mov rdx, qword [rsp + 0x28]
mov rcx, r13
call fcn.1401cf2a0
mov eax, 0x980382cb
jmp 0x1401cecf0
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
lea rdx, [rsp + 0x40]
call fcn.140176ab0
mov rcx, rax
call fcn.1401cf180
mov rcx, r13
lea rdx, [0x1403f6798]
call fcn.1401cf2a0
mov eax, 0x5b13f5a8
jmp 0x1401cecf0
cmp eax, 0x5b13f5a8
jne 0x1401cecf0
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x290]
xor rcx, rsp
call fcn.140384540
mov rax, r13
add rsp, 0x298
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret