Function at 0x100147a0
Capabilities:
Read file via mapping

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x5c
mov eax, dword [0x10061338]
xor eax, ebp
mov dword [ebp - 4], eax
test cl, cl
jne 0x100147c6
mov ecx, dword [ebp - 4]
xor eax, eax
xor ecx, ebp
call fcn.1001bb80
mov esp, ebp
pop ebp
ret
push ebx
push esi
push edi
push 0x100080a0
mov dword [0x10062060], 0
call dword [sym.imp.USER32.dll_RegisterWindowMessageW]
push 0x1000806c
mov dword [0x10061e5c], eax
call dword [sym.imp.USER32.dll_RegisterWindowMessageW]
push 0x1000802c
mov dword [0x10061e58], eax
call dword [sym.imp.USER32.dll_RegisterWindowMessageW]
push 0x10007ff4
mov dword [0x10061e54], eax
call dword [sym.imp.USER32.dll_RegisterWindowMessageW]
push 0
mov dword [0x10061e50], eax
mov byte [0x10061c40], 1
mov dword [ebp - 0x58], 0
call dword [sym.imp.OLEAUT32.dll_VariantInit]
mov ebx, eax
lea edi, [ebx + 6]
cmp edi, ebx
jl 0x1001487f
push edi
push 0
call dword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
mov esi, eax
test esi, esi
je 0x1001487f
push 0
call dword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
jne 0x1002387f
push 0xc
push 0x10007fe4
lea eax, [esi + ebx*2]
push 0xc
push eax
call dword [sym.imp.msvcrt.dll_memcpy_s]
add esp, 0x10
test eax, eax
jne 0x1002389f
xor eax, eax
push eax
mov word [esi + edi*2], ax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [ebp - 0x58], esi
lea eax, [ebp - 0x5c]
mov dword [ebp - 0x5c], 0
push eax
call dword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_GetCurrentProcessId]
push eax
call dword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_ProcessIdToSessionId]
push dword [ebp - 0x5c]
lea eax, [ebp - 0x2c]
push 0x10007fdc
push 0x14
push eax
call fcn.10014a40
lea ecx, [ebp - 0x2c]
add esp, 0x10
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x100148b3
sub ecx, edx
lea eax, [ebp - 0x2c]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x58]
call fcn.10014980
call dword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_GetCurrentThreadId]
push eax
call dword [sym.imp.USER32.dll_GetThreadDesktop]
test eax, eax
je 0x1001491c
push 0
push 0x28
lea ecx, [ebp - 0x54]
push ecx
push 2
push eax
call dword [sym.imp.USER32.dll_GetUserObjectInformationW]
test eax, eax
je 0x1001491c
lea eax, [ebp - 0x54]
lea edx, [eax + 2]
jmp 0x10014900
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x10014900
sub eax, edx
lea ecx, [ebp - 0x58]
sar eax, 1
push eax
lea eax, [ebp - 0x54]
push eax
call fcn.10014980
push 0xf
push 0x10007fbc
lea ecx, [ebp - 0x58]
call fcn.10014980
push 0
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov esi, dword [ebp - 0x58]
push esi
push 0
push 4
call dword [sym.imp.api_ms_win_core_memory_l1_1_0.dll_OpenFileMappingW]
mov dword [0x10062468], eax
test eax, eax
je 0x10014975
push 0
push 0
push 0
push 4
push eax
call dword [sym.imp.api_ms_win_core_memory_l1_1_0.dll_MapViewOfFile]
mov dword [0x1006246c], eax
test eax, eax
je 0x100238d3
push esi
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
pop edi
pop esi
pop ebx
jmp 0x100147b6
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
jmp 0x10014966
lea ecx, [ebx + ebx]
push ecx
push 0
lea eax, [edi + edi]
push eax
push esi
call dword [sym.imp.msvcrt.dll_memcpy_s]
add esp, 0x10
mov ecx, eax
call fcn.10027900
jmp 0x10014851
sub eax, 0xc
cmp eax, 0x44
ja case.0x100238ae.13
movzx eax, byte [eax + 0x100238fb]
jmp dword [eax*4 + 0x100238eb]
mov ecx, 0x8007000e
call fcn.100279d4
mov ecx, 0x80070057
call fcn.100279d4
mov ecx, 0x80004005
call fcn.100279d4
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ecx, 0x10062468
call fcn.1001b580
jmp 0x10014966