Function at 0x101b400
Capabilities:
Check mutex on windows
Extract resource via kernel32 functions
Get common file path

Disassembly:
mov eax, 0x10288e8
call fcn.01022df8
sub esp, 0xa1c
mov eax, dword [0x102e77c]
push ebx
push esi
mov dword [ebp - 0xa24], ecx
push 0x1001938
lea ecx, [ebp - 0xa1c]
mov dword [ebp - 0x10], eax
call sub.MFC42u.DLL_CString::CString_3
push 0x1005d08
xor ebx, ebx
push ebx
push 0x100000
mov dword [ebp - 4], ebx
call dword [sym.imp.KERNEL32.dll_OpenMutexW]
mov esi, eax
cmp esi, ebx
mov dword [ebp - 0xa28], esi
jne 0x101b471
push 0x189
push 0x10058f0
call fcn.0100c9d4
push 0x1005ce4
call fcn.0100cb2d
pop ecx
jmp 0x101b782
push 0x3e8
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x101b4ad
push esi
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
test eax, eax
jne 0x101b776
push 0x192
push 0x10058f0
call fcn.0100c9d4
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x1005cbc
jmp 0x101b4de
push 0x104
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
test eax, eax
jne 0x101b4ea
push 0x19e
push 0x10058f0
call fcn.0100c9d4
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x1005c94
call fcn.0100cb4a
pop ecx
pop ecx
jmp 0x101b776
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0xa1c]
push 0x1005c74
push eax
call sub.MFC42u.DLL_CString::Format
add esp, 0xc
push ebx
push 8
push dword [ebp - 0xa1c]
call fcn.01027054
mov esi, eax
cmp esi, ebx
mov dword [ebp - 0xa20], esi
jne 0x101b54d
push 0x1a7
push 0x10058f0
call fcn.0100c9d4
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push dword [ebp - 0xa1c]
push 0x1005c54
call fcn.0100cb4a
add esp, 0xc
jmp 0x101b763
push edi
push 5
push 0xfae
push esi
call dword [sym.imp.KERNEL32.dll_FindResourceW]
mov edi, eax
cmp edi, ebx
jne 0x101b582
push 0x1b5
push 0x10058f0
call fcn.0100c9d4
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x1005c34
jmp 0x101b71d
push edi
push esi
call dword [sym.imp.KERNEL32.dll_LoadResource]
cmp eax, ebx
jne 0x101b5ae
push 0x1c0
push 0x10058f0
call fcn.0100c9d4
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x1005c14
jmp 0x101b71d
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
mov esi, eax
cmp esi, ebx
jne 0x101b5db
push 0x1c8
push 0x10058f0
call fcn.0100c9d4
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x1005bf4
jmp 0x101b71d
push edi
push dword [ebp - 0xa20]
call dword [sym.imp.KERNEL32.dll_SizeofResource]
cmp eax, ebx
jne 0x101b60c
push 0x1d0
push 0x10058f0
call fcn.0100c9d4
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x1005bd4
jmp 0x101b71d
lea ecx, [eax + esi - 1]
lea eax, [esi + 0x12]
xor esi, esi
cmp eax, ecx
ja 0x101b662
mov dx, word [eax]
cmp dx, 0xffff
jne 0x101b628
add eax, 4
jmp 0x101b63a
cmp dx, bx
je 0x101b638
inc eax
inc eax
cmp eax, ecx
ja 0x101b669
cmp word [eax], bx
jne 0x101b62d
inc eax
inc eax
inc esi
cmp esi, 2
jl 0x101b615
cmp eax, ecx
jbe 0x101b670
push 0x1ef
push 0x10058f0
call fcn.0100c9d4
push 0x1005bb4
call fcn.0100cb4a
jmp 0x101b761
push 0x1e0
jmp 0x101b649
push 0x1eb
jmp 0x101b649
sub ecx, eax
sar ecx, 1
inc ecx
cmp ecx, 0x7fffffff
jbe 0x101b684
mov esi, 0x80070057
jmp 0x101b69d
push ecx
push eax
push 0x400
lea eax, [ebp - 0xa18]
push eax
call fcn.0101ae6f
mov esi, eax
cmp esi, ebx
jge 0x101b6b7
push 0x1f8
push 0x10058f0
call fcn.0100c9d4
push esi
push 0x1005b90
jmp 0x101b75b
push 0x1fc
mov esi, 0x10058f0
push esi
call fcn.0100c9d4
lea eax, [ebp - 0xa18]
push eax
push 0x1005b6c
call fcn.0100cb2d
pop ecx
pop ecx
lea eax, [ebp - 0xa18]
push eax
push ebx
call dword [sym.imp.USER32.dll_FindWindowW]
mov edi, eax
cmp edi, ebx
je 0x101b744
mov ecx, dword [ebp - 0xa24]
push 1
call fcn.0101af43
push ebx
push ebx
push 0x10
push edi
call dword [sym.imp.USER32.dll_SendMessageW]
mov edi, eax
cmp edi, ebx
je 0x101b724
push 0x212
push esi
call fcn.0100c9d4
push edi
push 0x1005b44
call fcn.0100cb4a
jmp 0x101b760
push 0x217
push esi
call fcn.0100c9d4
push 0x1005b20
call fcn.0100cb2d
pop ecx
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x101b762
push 0x21d
push esi
call fcn.0100c9d4
lea eax, [ebp - 0xa18]
push eax
push 0x1005aec
call fcn.0100cb2d
pop ecx
pop ecx
pop edi
cmp dword [ebp - 0xa20], ebx
je 0x101b776
push dword [ebp - 0xa20]
call fcn.01026e65
push dword [ebp - 0xa28]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xa1c]
call sub.MFC42u.DLL_CString::CString
mov ecx, dword [ebp - 0xc]
pop esi
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x10]
pop ebx
call fcn.0102222e
leave
ret