Function at 0x140046b60
Capabilities:
Extract resource via kernel32 functions
Get common file path
Write file on windows

Disassembly:
mov qword [rsp + 8], rcx
mov eax, 0x1738
call fcn.1400f3f80
sub rsp, rax
mov qword [rsp + 0xa0], 0xfffffffffffffffe
mov rax, qword [0x1403542a0]
xor rax, rsp
mov qword [rsp + 0x1720], rax
lea rdx, [rsp + 0xa8]
lea rcx, [0x140354430]
call fcn.1400631b0
mov rax, qword [rax]
mov qword [rsp + 0x98], rax
lea rdx, [rsp + 0xd0]
lea rcx, [0x140354430]
call fcn.140053b10
mov rax, qword [rax]
mov qword [rsp + 0x90], rax
mov r9, qword [rsp + 0x98]
mov r8, qword [rsp + 0x90]
lea rdx, [rsp + 0xb8]
lea rcx, [0x140354430]
call fcn.140048ba0
lea rcx, [rsp + 0x70]
call fcn.14000fd90
nop
call fcn.14006b0f0
mov rcx, rax
call fcn.140078a80
mov qword [rsp + 0x50], rax
cmp qword [rsp + 0x50], 0
jne 0x140046c35
mov byte [rsp + 0x42], 0
lea rcx, [rsp + 0x70]
call fcn.14000fe90
movzx eax, byte [rsp + 0x42]
jmp 0x140046f6e
mov dword [rsp + 0x44], 0
jmp 0x140046c49
mov eax, dword [rsp + 0x44]
inc eax
mov dword [rsp + 0x44], eax
mov eax, dword [reloc.msi.dll_MsiConfigureFeatureFromDescriptorA]
cmp dword [rsp + 0x44], eax
jge 0x140046e2c
movsxd rax, dword [rsp + 0x44]
lea rcx, str.A.JPG
mov rdx, qword [rcx + rax*8]
lea rcx, [rsp + 0x120]
call fcn.140048920
movsxd rax, dword [rsp + 0x44]
lea rcx, str.A.JPG
lea r8, str.IMAGE
mov rdx, qword [rcx + rax*8]
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_FindResourceW]
mov qword [rsp + 0x58], rax
cmp qword [rsp + 0x58], 0
je 0x140046e27
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_SizeofResource]
mov dword [rsp + 0x68], eax
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_LoadResource]
mov qword [rsp + 0x80], rax
mov rcx, qword [rsp + 0x80]
call qword [sym.imp.KERNEL32.dll_LockResource]
mov qword [rsp + 0x88], rax
lea rdx, [rsp + 0xf20]
mov ecx, Ordinal_1027
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
mov r8d, Ordinal_1027
lea rdx, [rsp + 0x720]
lea rcx, [rsp + 0xf20]
call qword [sym.imp.KERNEL32.dll_GetLongPathNameW]
movsxd rax, dword [rsp + 0x44]
lea rcx, str.A.JPG
mov rdx, qword [rcx + rax*8]
lea rcx, [rsp + 0x720]
call fcn.1400488f0
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], Ordinal_1027
lea rax, [rsp + 0x320]
mov qword [rsp + 0x20], rax
mov r9d, 0xffffffff
lea r8, [rsp + 0x720]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
lea r8, [0x14018d8ec]
lea rdx, [rsp + 0x320]
lea rcx, [rsp + 0x60]
call qword [sym.imp.MSVCR110.dll_fopen_s]
cmp qword [rsp + 0x60], 0
jne 0x140046d9a
jmp 0x140046de3
mov eax, dword [rsp + 0x68]
mov r9, qword [rsp + 0x60]
mov r8d, eax
mov edx, 1
mov rcx, qword [rsp + 0x88]
call qword [sym.imp.MSVCR110.dll_fwrite]
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.MSVCR110.dll_fclose]
lea rdx, [rsp + 0x720]
lea rcx, [rsp + 0x120]
call fcn.140048920
xor eax, eax
test eax, eax
jne 0x140046ceb
lea rdx, [rsp + 0x120]
lea rcx, [rsp + 0xf8]
call fcn.140003390
nop
lea rdx, [rsp + 0xf8]
lea rcx, [rsp + 0x70]
call fcn.140048d60
nop
lea rcx, [rsp + 0xf8]
call fcn.140003870
mov rcx, qword [rsp + 0x80]
call qword [sym.imp.KERNEL32.dll_FreeResource]
jmp 0x140046c3f
lea rcx, [rsp + 0x70]
call fcn.140029150
test rax, rax
jne 0x140046e59
mov byte [rsp + 0x40], 0
lea rcx, [rsp + 0x70]
call fcn.14000fe90
movzx eax, byte [rsp + 0x40]
jmp 0x140046f6e
lea rcx, [rsp + 0x48]
call fcn.1400e2380
lea rdx, [rsp + 0xc8]
lea rcx, [rsp + 0x70]
call fcn.140053b10
mov rax, qword [rax]
mov qword [rsp + 0x48], rax
jmp 0x140046e94
xor r8d, r8d
lea rdx, [rsp + 0xb0]
lea rcx, [rsp + 0x48]
call fcn.14009f5a0
lea rdx, [rsp + 0xc0]
lea rcx, [rsp + 0x70]
call fcn.1400631b0
mov rdx, rax
lea rcx, [rsp + 0x48]
call fcn.1400387f0
movzx eax, al
test eax, eax
je 0x140046f5a
lea rcx, [rsp + 0x48]
call fcn.14004fe10
mov rdx, rax
lea rcx, [rsp + 0xd8]
call fcn.14000b8e0
nop
mov rax, qword [rsp + 0x1740]
mov rax, qword [rax]
lea rdx, [rsp + 0xd8]
mov rcx, qword [rsp + 0x1740]
call qword [rax + 0x3a8]
movzx eax, al
test eax, eax
je 0x140046f17
lea rdx, [rsp + 0xd8]
lea rcx, [0x140354430]
call fcn.140048db0
jmp 0x140046f48
lea rdx, [rsp + 0xd8]
mov rcx, qword [rsp + 0x1740]
call fcn.1400455f0
movzx eax, al
test eax, eax
je 0x140046f48
lea rdx, [rsp + 0xd8]
lea rcx, [0x140354430]
call fcn.140048db0
nop
lea rcx, [rsp + 0xd8]
call fcn.140003870
jmp 0x140046e7f
mov byte [rsp + 0x41], 1
lea rcx, [rsp + 0x70]
call fcn.14000fe90
movzx eax, byte [rsp + 0x41]
mov rcx, qword [rsp + 0x1720]
xor rcx, rsp
call fcn.1400f3d50
add rsp, 0x1738
ret