Function at 0x100147c0
Capabilities:
Read file via mapping

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x5c
mov eax, dword [0x10062338]
xor eax, ebp
mov dword [ebp - 4], eax
test cl, cl
jne 0x100147e6
mov ecx, dword [ebp - 4]
xor eax, eax
xor ecx, ebp
call fcn.1001bb90
mov esp, ebp
pop ebp
ret
push ebx
push esi
push edi
push 0x100080a0
mov dword [0x10063060], 0
call dword [sym.imp.USER32.dll_RegisterWindowMessageW]
push 0x1000806c
mov dword [0x10062e5c], eax
call dword [sym.imp.USER32.dll_RegisterWindowMessageW]
push 0x1000802c
mov dword [0x10062e58], eax
call dword [sym.imp.USER32.dll_RegisterWindowMessageW]
push 0x10007ff4
mov dword [0x10062e54], eax
call dword [sym.imp.USER32.dll_RegisterWindowMessageW]
push 0
mov dword [0x10062e50], eax
mov byte [0x10062c40], 1
mov dword [ebp - 0x58], 0
call dword [sym.imp.OLEAUT32.dll_VariantInit]
mov ebx, eax
lea edi, [ebx + 6]
cmp edi, ebx
jl 0x1001489f
push edi
push 0
call dword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
mov esi, eax
test esi, esi
je 0x1001489f
push 0
call dword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
jne 0x1002391f
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 0x1002393f
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.10014a60
lea ecx, [ebp - 0x2c]
add esp, 0x10
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x100148d3
sub ecx, edx
lea eax, [ebp - 0x2c]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x58]
call fcn.100149a0
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 0x1001493c
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 0x1001493c
lea eax, [ebp - 0x54]
lea edx, [eax + 2]
jmp 0x10014920
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x10014920
sub eax, edx
lea ecx, [ebp - 0x58]
sar eax, 1
push eax
lea eax, [ebp - 0x54]
push eax
call fcn.100149a0
push 0xf
push 0x10007fbc
lea ecx, [ebp - 0x58]
call fcn.100149a0
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 [0x10063468], eax
test eax, eax
je 0x10014995
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 [0x1006346c], eax
test eax, eax
je 0x10023973
push esi
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
pop edi
pop esi
pop ebx
jmp 0x100147d6
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
jmp 0x10014986
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.100279c0
jmp 0x10014871
sub eax, 0xc
cmp eax, 0x44
ja case.0x1002394e.13
movzx eax, byte [eax + 0x1002399b]
jmp dword [eax*4 + 0x1002398b]
mov ecx, 0x8007000e
call fcn.10027a94
mov ecx, 0x80070057
call fcn.10027a94
mov ecx, 0x80004005
call fcn.10027a94
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ecx, 0x10063468
call fcn.1001b590
jmp 0x10014986