Function at 0x180001000
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
sub rsp, 0x50
mov rdi, rcx
mov rcx, rdx
mov rbp, rdx
xor ebx, ebx
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov rcx, rdi
mov esi, eax
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov rcx, qword [0x180023a50]
lea r8d, [rax + rsi + 1]
xor edx, edx
mov r13d, eax
add r8, 5
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r12, rax
cmp rax, rbx
je 0x18000122d
mov rdx, rbp
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_lstrcpyA]
lea eax, [rsi + 1]
mov rdx, rdi
mov rcx, r12
mov byte [rsi + r12], 0x5c
mov byte [rax + r12], bl
call qword [sym.imp.KERNEL32.dll_lstrcatA]
lea rdx, [0x180025b69]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_lstrcatA]
mov rcx, qword [0x180023a50]
lea r8d, [r13 + 1]
add r8, r8
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rbp, rax
cmp rax, rbx
je 0x18000121b
movsx eax, byte [rdi]
mov word [rbp], ax
cmp ax, bx
je 0x1800010d2
mov rcx, rbp
inc rdi
add rcx, 2
movsx eax, byte [rdi]
mov word [rcx], ax
cmp ax, bx
jne 0x1800010c0
mov rdx, rbp
xor ecx, ecx
call qword [sym.imp.CRYPT32.dll_CertOpenSystemStoreW]
mov rdi, rax
cmp rax, rbx
je 0x180001209
xor edx, edx
mov rcx, rax
mov esi, ebx
call qword [sym.imp.CRYPT32.dll_CertEnumCertificatesInStore]
cmp rax, rbx
je 0x1800011fe
mov rdx, rax
mov rcx, rdi
inc esi
call qword [sym.imp.CRYPT32.dll_CertEnumCertificatesInStore]
cmp rax, rbx
jne 0x1800010ff
cmp esi, ebx
je 0x1800011fe
xor eax, eax
lea r8, [0x180025928]
lea rdx, [rsp + 0x40]
lea esi, [rax + 4]
xor r9d, r9d
mov rcx, rdi
mov dword [rsp + 0x40], ebx
mov dword [rsp + 0x44], eax
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x20], esi
call qword [sym.imp.CRYPT32.dll_PFXExportCertStoreEx]
cmp eax, ebx
je 0x1800011fe
mov r8d, dword [rsp + 0x40]
mov rcx, qword [0x180023a50]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rsp + 0x44], rax
cmp rax, rbx
je 0x1800011fe
lea r8, [0x180025928]
lea rdx, [rsp + 0x40]
xor r9d, r9d
mov rcx, rdi
mov dword [rsp + 0x20], esi
call qword [sym.imp.CRYPT32.dll_PFXExportCertStoreEx]
cmp eax, ebx
je 0x1800011ea
mov qword [rsp + 0x30], rbx
xor r9d, r9d
xor r8d, r8d
mov edx, 0xc0000000
mov rcx, r12
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], esi
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov rsi, rax
cmp rax, 0xffffffffffffffff
je 0x1800011ea
mov r8d, dword [rsp + 0x40]
mov rdx, qword [rsp + 0x44]
lea r9, [rsp + 0x80]
mov rcx, rax
mov qword [rsp + 0x20], rbx
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rcx, rsi
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov r8, qword [rsp + 0x44]
mov rcx, qword [0x180023a50]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor edx, edx
mov rcx, rdi
call qword [sym.imp.CRYPT32.dll_CertCloseStore]
mov rcx, qword [0x180023a50]
mov r8, rbp
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rcx, qword [0x180023a50]
mov r8, r12
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
lea r11, [rsp + 0x50]
mov eax, ebx
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r13
pop r12
pop rdi
ret