Function at 0x180021a20
Capabilities:
Delete file
Read file on windows

Disassembly:
mov rax, rsp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x160
mov qword [rsp + 0x78], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rsi
mov rax, qword [0x180272190]
xor rax, rsp
mov qword [rsp + 0x150], rax
mov r12, rdx
mov r15, rcx
xor r14d, r14d
mov dword [rsp + 0x48], r14d
cmp qword [rcx + 0x28], r14
ja 0x180021dc4
call sym.WebKeyAPICPPDLLx64.dll_private:_void___cdecl_WKCertFileStorage::Clear_void____ptr64
lea rdx, [rsp + 0x120]
mov rcx, r12
call fcn.18016ce48
test eax, eax
je 0x180021acc
lea rdx, [0x1801de1f0]
mov rcx, r12
call fcn.180169dd0
mov qword [rsp + 0x30], rax
test rax, rax
je 0x180021dfe
mov rcx, rax
call fcn.180169e60
mov qword [rsp + 0x30], r14
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_DeleteFileA]
lea rcx, [r15 + 8]
mov rdx, r12
call sym.WebKeyAPICPPDLLx64.dll_protected:_void___cdecl_WKString::Set_char_const____ptr64____ptr64
nop
jmp 0x180021d8a
lea rdx, [0x1801de048]
mov rcx, r12
call fcn.180169dd0
mov rbx, rax
mov qword [rsp + 0x50], rax
test rax, rax
je 0x180021e0e
mov rcx, rbx
call fcn.18016d4bc
movsxd rsi, eax
cmp rsi, 0xffffffffffffffff
je 0x180021e1d
xor edx, edx
lea r8d, [rdx + 2]
mov rcx, rbx
call fcn.18016b69c
test eax, eax
jne 0x180021e2b
mov rcx, rbx
call fcn.18016d4bc
movsxd rdi, eax
cmp rdi, 0xffffffffffffffff
je 0x180021e39
xor r8d, r8d
mov edx, esi
mov rcx, rbx
call fcn.18016b69c
test eax, eax
jne 0x180021e47
mov rcx, rdi
call fcn.180152710
mov r13, rax
mov edi, edi
mov r8d, edi
mov r9, rbx
mov edx, 1
mov rcx, rax
call fcn.18016a428
mov rcx, rbx
call fcn.180169e60
mov qword [rsp + 0x50], r14
mov edx, 5
lea rcx, [rsp + 0x90]
call sym.WebKeyAPICPPDLLx64.dll_public:_void___cdecl_WKDataPackage::constructor_enum_WKDP_Enum::ERole____ptr64
nop
cmp qword [r15 + 0x50], 0
jbe 0x180021c72
lea rsi, [0x1801ca568]
mov r8, rsi
mov r8, qword [r15 + 0x40]
lea rdx, [rsp + 0x30]
mov rcx, r15
call sym.WebKeyAPICPPDLLx64.dll_private:_class_WKBinary___cdecl_WKCertFileStorage::MakeAESKeyFromPassword_char_const____ptr64____ptr64
nop
mov qword [rsp + 0x48], r14
mov r8d, edi
mov rdx, r13
lea rcx, [rsp + 0x48]
call sym.WebKeyAPICPPDLLx64.dll_public:_void___cdecl_WKBinary::SetData_unsigned_char____ptr64__int____ptr64
nop
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x38], rax
test rax, rax
je 0x180021bd0
inc dword [rax + 0x10]
mov rax, qword [rsp + 0x30]
test rax, rax
je 0x180021bdf
mov r8, qword [rax]
jmp 0x180021be2
mov r8, r14
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x40]
call sym.WebKeyAPICPPDLLx64.dll_public:_static_class_WKBinary___cdecl_WKCertFileStorage::DecryptBlob_class_WKBinary__unsigned_char____ptr64_
mov rbx, qword [rsp + 0x40]
mov qword [rsp + 0x38], rbx
test rbx, rbx
je 0x180021c03
inc dword [rbx + 0x10]
mov rdi, qword [rsp + 0x108]
test rdi, rdi
je 0x180021c36
sub dword [rdi + 0x10], 1
jne 0x180021c36
cmp byte [rdi + 0xc], 0
je 0x180021c29
mov rcx, qword [rdi]
test rcx, rcx
je 0x180021c29
call fcn.1801525f4
mov edx, Ordinal_26
mov rcx, rdi
call fcn.1801525f4
mov qword [rsp + 0x108], rbx
test rbx, rbx
je 0x180021c46
inc dword [rbx + 0x10]
lea rcx, [rsp + 0x38]
call sym.WebKeyAPICPPDLLx64.dll_public:_void___cdecl_WKBinary::Clear_void____ptr64
lea rcx, [rsp + 0x40]
call sym.WebKeyAPICPPDLLx64.dll_public:_void___cdecl_WKBinary::Clear_void____ptr64
nop
lea rcx, [rsp + 0x48]
call sym.WebKeyAPICPPDLLx64.dll_public:_void___cdecl_WKBinary::Clear_void____ptr64
nop
lea rcx, [rsp + 0x30]
call sym.WebKeyAPICPPDLLx64.dll_public:_void___cdecl_WKBinary::Clear_void____ptr64
jmp 0x180021c8c
mov r8d, edi
mov rdx, r13
lea rcx, [rsp + 0x108]
call sym.WebKeyAPICPPDLLx64.dll_public:_void___cdecl_WKBinary::SetData_unsigned_char____ptr64__int____ptr64
lea rsi, [0x1801ca568]
mov rcx, r13
call fcn.1801525f4
lea rcx, [rsp + 0x90]
call sym.WebKeyAPICPPDLLx64.dll_public:_enum_WKDP_Enum::EDecodeResult___cdecl_WKDataPackage::DecodeMessage_void____ptr64
cmp eax, 1
jne 0x180021e56
mov rcx, qword [rsp + 0x118]
xor edx, edx
test rcx, rcx
je 0x180021db7
call fcn.1800cbd90
mov r13d, eax
mov edi, r14d
nop dword [rax + rax]
cmp edi, r13d
jge 0x180021d6f
inc edi
mov rcx, qword [rsp + 0x118]
test rcx, rcx
je 0x180021ef0
mov r8d, edi
lea rdx, [rsp + 0x40]
call fcn.1800cbfd0
or r14d, 2
mov ecx, 0x108
call fcn.180152604
mov qword [rsp + 0x30], rax
mov rcx, rax
call sym.WebKeyAPICPPDLLx64.dll_public:_void___cdecl_WKCertData::constructor_void____ptr64
mov rsi, rax
mov rcx, qword [rsp + 0x40]
mov qword [rsp + 0x30], rcx
test rcx, rcx
je 0x180021d29
inc dword [rcx + 0x10]
lea rdx, [rsp + 0x30]
mov rcx, rsi
call sym.WebKeyAPICPPDLLx64.dll_public:_void___cdecl_WKCertData::FromBinary_class_WKBinary____ptr64
mov rcx, qword [r15 + 0x60]
cmp rcx, qword [r15 + 0x68]
jne 0x180021d50
mov rdx, qword [r15 + 0x70]
add rdx, rcx
lea rcx, [r15 + 0x58]
call sym.WebKeyAPICPPDLLx64.dll_public:_void___cdecl_WKArray_class_WKObject____ptr64____ptr64_::Grow_unsigned_long_long_unsigned___int64_____ptr64
mov rcx, qword [r15 + 0x60]
mov rax, qword [r15 + 0x58]
mov qword [rax + rcx*8], rsi
inc qword [r15 + 0x60]
lea rcx, [rsp + 0x40]
call sym.WebKeyAPICPPDLLx64.dll_public:_void___cdecl_WKBinary::Clear_void____ptr64
jmp 0x180021cd0
lea rcx, [r15 + 8]
mov rdx, r12
call sym.WebKeyAPICPPDLLx64.dll_protected:_void___cdecl_WKString::Set_char_const____ptr64____ptr64
nop
lea rcx, [rsp + 0x90]
call sym.WebKeyAPICPPDLLx64.dll_public:_void___cdecl_WKDataPackage::destructor_void____ptr64
nop
mov rcx, qword [rsp + 0x150]
xor rcx, rsp
call fcn.1801525d0
lea r11, [rsp + 0x160]
mov rbx, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
lea rcx, str.Element_not_found
call fcn.1800cdc80
nop
lea ecx, [r14 + 0x38]
call fcn.180152604
mov qword [rsp + 0x50], rax
lea r8, str.Certificate_storage_already_open.
mov edx, 0x40d
mov rcx, rax
call sym.WebKeyAPICPPDLLx64.dll_public:_void___cdecl_WKException::constructor_unsigned_int__char_const____ptr64____ptr64
nop
mov qword [rsp + 0x58], rax
lea rdx, [0x1802460c0]
lea rcx, [rsp + 0x58]
call fcn.180155078
nop
call fcn.18016ad64
mov rdx, r12
mov ecx, dword [rax]
call fcn.1800cb250
nop
call fcn.18016ad64
mov rdx, r12
mov ecx, dword [rax]
call fcn.1800cb250
call fcn.18016ad64
xor edx, edx
mov ecx, dword [rax]
call fcn.1800cb250
call fcn.18016ad64
xor edx, edx
mov ecx, dword [rax]
call fcn.1800cb250
call fcn.18016ad64
xor edx, edx
mov ecx, dword [rax]
call fcn.1800cb250
call fcn.18016ad64
xor edx, edx
mov ecx, dword [rax]
call fcn.1800cb250
nop
cmp qword [rsp + 0xb0], 0
cmovne rsi, qword [rsp + 0xa0]
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], eax
lea r9, str.DecodeMessage_RC_d__ErrorStr:__s
lea r8, str.Decode
mov edx, 0x118
lea rcx, str.d:projectsweb_key4.1wkey4.1commonwebkeyutilwkdatapackage.cpp
call fcn.1800cb650
mov ecx, gethostname
call fcn.180152604
mov rbx, rax
mov qword [rsp + 0x30], rax
lea rdx, [rsp + 0x120]
lea rcx, [rsp + 0x90]
call sym.WebKeyAPICPPDLLx64.dll_public:_class_WKString___cdecl_WKSkin::GetGUID_void____ptr64
nop
mov dword [rsp + 0x48], 1
mov rcx, rax
call sym.WebKeyAPICPPDLLx64.dll_public:_char____ptr64___cdecl_WKString::operator_char____ptr64_void____ptr64
mov r8, rax
mov edx, 0x3ea
mov rcx, rbx
call sym.WebKeyAPICPPDLLx64.dll_public:_void___cdecl_WKException::constructor_unsigned_int__char_const____ptr64____ptr64
nop
mov qword [rsp + 0x68], rax
lea rdx, [0x1802460c0]
lea rcx, [rsp + 0x68]
call fcn.180155078
nop
mov edx, edi
lea rcx, str.Element_not_found
call fcn.1800cdc80
int3