Function at 0x100197dd
Capabilities:
Get common file path
Get file size
Read file on windows

Disassembly:
push 0x214
mov eax, 0x1002f28c
call fcn.1002b85a
xor eax, eax
push 0x206
mov word [ebp - 0x218], ax
xor esi, esi
lea eax, reloc.ADVAPI32.dll_TraceMessage
push esi
push eax
call sub.msvcrt.dll_memset
push 0x24
or ebx, reloc.ADVAPI32.dll_TraceMessage
mov edi, esi
mov dword [ebp - reloc.ADVAPI32.dll_TraceMessage], esi
call fcn.1000150e
add esp, 0x10
mov dword [ebp - reloc.ADVAPI32.dll_TraceMessage], eax
mov dword [ebp - 4], esi
test eax, eax
je 0x1001983a
mov ecx, eax
call fcn.1000dbf7
mov dword [ebp - reloc.ADVAPI32.dll_TraceMessage], eax
jmp 0x10019842
mov eax, esi
mov dword [ebp - reloc.ADVAPI32.dll_TraceMessage], esi
or dword [ebp - 4], reloc.ADVAPI32.dll_TraceMessage
test eax, eax
jne 0x10019883
mov esi, 0x8007000e
mov eax, dword [0x100320c8]
cmp eax, 0x100320c8
je 0x10019b53
test byte [eax + 0x1c], 1
je 0x10019b53
push 0x1000bcb8
push 0x92
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.1000c7e1
jmp 0x10019b53
mov esi, 0x104
push esi
lea eax, reloc.ADVAPI32.dll_TraceMessage
push eax
call sub.KERNEL32.dll_GetSystemDirectoryW
test eax, eax
je 0x10019aea
cmp eax, esi
ja 0x10019aea
push 0x10019b5c
push esi
lea eax, reloc.ADVAPI32.dll_TraceMessage
push eax
call fcn.100065d4
mov esi, eax
test esi, esi
jns 0x100198f2
mov eax, dword [0x100320c8]
cmp eax, 0x100320c8
je 0x10019b3f
test byte [eax + 0x1c], 1
je 0x10019b3f
push esi
push 0x1000bcb8
push 0x94
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.1001fead
jmp 0x10019b3f
xor esi, esi
push esi
push 0x80
push 3
push esi
push 1
push 0x80000000
lea eax, reloc.ADVAPI32.dll_TraceMessage
push eax
call sub.KERNEL32.dll_CreateFileW
mov ebx, eax
cmp ebx, reloc.ADVAPI32.dll_TraceMessage
jne 0x10019955
call sub.KERNEL32.dll_GetLastError
mov esi, eax
test esi, esi
jle 0x1001992e
and esi, 0xffff
or esi, 0x80070000
mov eax, dword [0x100320c8]
cmp eax, 0x100320c8
je 0x10019b3f
test byte [eax + 0x1c], 1
je 0x10019b3f
push esi
push 0x1000bcb8
push 0x95
jmp 0x100198e2
push esi
push ebx
call sub.KERNEL32.dll_GetFileSize
mov esi, eax
cmp esi, reloc.ADVAPI32.dll_TraceMessage
jne 0x100199af
call sub.KERNEL32.dll_GetLastError
mov esi, eax
test esi, esi
jle 0x1001997a
and esi, 0xffff
or esi, 0x80070000
mov eax, dword [0x100320c8]
cmp eax, 0x100320c8
je 0x10019b34
test byte [eax + 0x1c], 1
je 0x10019b34
push esi
push 0x1000bcb8
push 0x96
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.1001fead
jmp 0x10019b34
test esi, esi
jne 0x100199ec
mov esi, 0x8007000d
mov eax, dword [0x100320c8]
cmp eax, 0x100320c8
je 0x10019b34
test byte [eax + 0x1c], 1
je 0x10019b34
push 0x1000bcb8
push 0x97
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.1000c7e1
jmp 0x10019b34
push esi
call fcn.10001501
mov edi, eax
pop ecx
test edi, edi
jne 0x10019a24
mov esi, 0x8007000e
mov eax, dword [0x100320c8]
cmp eax, 0x100320c8
je 0x10019b34
test byte [eax + 0x1c], 1
je 0x10019b34
push 0x1000bcb8
push 0x98
jmp 0x100199dc
push 0
lea eax, reloc.ADVAPI32.dll_TraceMessage
push eax
push esi
push edi
push ebx
call sub.KERNEL32.dll_ReadFile
test eax, eax
jne 0x10019a7a
call sub.KERNEL32.dll_GetLastError
mov esi, eax
test esi, esi
jle 0x10019a50
and esi, 0xffff
or esi, 0x80070000
mov eax, dword [0x100320c8]
cmp eax, 0x100320c8
je 0x10019b29
test byte [eax + 0x1c], 1
je 0x10019b29
push esi
push 0x1000bcb8
push 0x99
jmp 0x10019b1e
cmp dword [ebp - reloc.ADVAPI32.dll_TraceMessage], esi
je 0x10019ab8
mov esi, 0x8007000d
mov eax, dword [0x100320c8]
cmp eax, 0x100320c8
je 0x10019b29
test byte [eax + 0x1c], 1
je 0x10019b29
push 0x1000bcb8
push 0x9a
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.1000c7e1
jmp 0x10019b29
mov ecx, dword [ebp - reloc.ADVAPI32.dll_TraceMessage]
push esi
push edi
call fcn.1000de17
mov esi, eax
test esi, esi
jns 0x10019b29
mov eax, dword [0x100320c8]
cmp eax, 0x100320c8
je 0x10019b29
test byte [eax + 0x1c], 1
je 0x10019b29
push esi
push 0x1000bcb8
push 0x9b
jmp 0x10019b1e
call sub.KERNEL32.dll_GetLastError
mov esi, eax
test esi, esi
jle 0x10019b01
and esi, 0xffff
or esi, 0x80070000
mov eax, dword [0x100320c8]
cmp eax, 0x100320c8
je 0x10019b3f
test byte [eax + 0x1c], 1
je 0x10019b3f
push esi
push 0x1000bcb8
push 0x93
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.1001fead
test edi, edi
je 0x10019b34
push edi
call fcn.10001485
pop ecx
cmp ebx, reloc.ADVAPI32.dll_TraceMessage
je 0x10019b3f
push ebx
call sub.KERNEL32.dll_CloseHandle
mov ebx, dword [ebp - reloc.ADVAPI32.dll_TraceMessage]
mov ecx, ebx
call fcn.1000dc1b
push ebx
call fcn.10001485
pop ecx
mov eax, esi
call fcn.1002b897
ret