Function at 0x10003a27
Capabilities:
Check if file exists
Get common file path
Print debug messages

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x10030951
mov eax, dword fs:[0]
push eax
sub esp, 0x4f0
mov eax, dword [0x1003b300]
xor eax, esp
mov dword [esp + 0x4e8], eax
push ebx
push esi
push edi
mov eax, dword [0x1003b300]
xor eax, esp
push eax
lea eax, [esp + 0x500]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0xc]
push 0x10033a6c
mov dword [esp + 0x18], eax
xor ebx, ebx
lea eax, [esp + 0x78]
push ebx
mov edi, str.workflow.png
push eax
mov dword [esp + 0x24], edi
call fcn.10015cca
add esp, 0xc
mov dword [esp + 0x508], ebx
cmp dword [esp + 0x8c], 8
mov eax, dword [esp + 0x78]
jae 0x10003aac
lea eax, [esp + 0x78]
mov esi, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
push eax
call esi
test eax, eax
jne 0x10003b2f
push 0x206
mov word [esp + 0x2f0], ax
lea eax, [esp + 0x2f2]
push ebx
push eax
call fcn.1001a170
add esp, 0xc
lea eax, [esp + 0x2ec]
push eax
call fcn.1000709b
lea eax, [esp + 0x2ec]
push eax
call esi
test eax, eax
jne 0x10003b07
xor edi, edi
push ebx
push 1
lea esi, [esp + 0x7c]
call fcn.10001b40
mov eax, edi
jmp 0x1000416f
lea eax, [esp + 0x2ec]
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
cmp cx, bx
jne 0x10003b11
sub eax, edx
sar eax, 1
lea ecx, [esp + 0x2ec]
lea esi, [esp + 0x74]
call fcn.100030da
cmp dword [esp + 0x1c], ebx
je 0x10004161
xor eax, eax
cmp eax, edi
jne 0x10003b47
mov dword [esp + 0x18], str.rtmessage.png
push ebx
push ebx
lea eax, [esp + 0x44]
call fcn.1000d77b
push 0x1003411c
lea esi, [esp + 0x24]
mov byte [esp + 0x50c], 3
call fcn.10003093
mov eax, esi
push eax
lea eax, [esp + 0x5c]
push eax
mov byte [esp + 0x510], 4
call fcn.100011d6
sub esp, 0x10
mov byte [esp + 0x520], 5
mov edx, eax
mov esi, esp
mov dword [esp + 0x28], esp
call fcn.1000c7b2
lea eax, [esp + 0x54]
push eax
mov edx, str.title
mov byte [esp + 0x524], 6
call fcn.1000da19
mov edi, eax
mov byte [esp + 0x520], 5
call fcn.1000ca05
push ebx
push 1
lea ecx, [esp + 0x60]
call fcn.10001a6f
push ebx
push 1
lea esi, [esp + 0x28]
mov byte [esp + 0x510], 3
call fcn.10001b40
push dword [esp + 0x1c]
lea esi, [esp + 0x24]
call fcn.10003093
mov eax, esi
push eax
lea eax, [esp + 0x5c]
push eax
mov byte [esp + 0x510], 7
call fcn.100011d6
sub esp, 0x10
mov byte [esp + 0x520], 8
mov edx, eax
mov esi, esp
mov dword [esp + 0x28], esp
call fcn.1000c7b2
lea eax, [esp + 0x54]
push eax
mov edx, str.content
mov byte [esp + 0x524], 9
call fcn.1000da19
mov edi, eax
mov byte [esp + 0x520], 8
call fcn.1000ca05
push ebx
push 1
lea ecx, [esp + 0x60]
call fcn.10001a6f
push ebx
push 1
lea esi, [esp + 0x28]
mov byte [esp + 0x510], 3
call fcn.10001b40
push 0x100340ac
lea esi, [esp + 0x24]
call fcn.10003093
mov byte [esp + 0x508], 0xa
mov eax, esi
push eax
lea eax, [esp + 0x5c]
push eax
call fcn.100011d6
sub esp, 0x10
mov byte [esp + 0x520], 0xb
mov edx, eax
mov esi, esp
mov dword [esp + 0x28], esp
call fcn.1000c7b2
lea eax, [esp + 0x54]
push eax
mov edx, str.btnText
mov byte [esp + 0x524], 0xc
call fcn.1000da19
mov edi, eax
mov byte [esp + 0x520], 0xb
call fcn.1000ca05
push ebx
push 1
lea ecx, [esp + 0x60]
call fcn.10001a6f
push ebx
push 1
lea esi, [esp + 0x28]
mov byte [esp + 0x510], 3
call fcn.10001b40
push dword [esp + 0x18]
lea esi, [esp + 0x24]
call fcn.10003093
mov eax, esi
push eax
lea eax, [esp + 0x5c]
push eax
mov byte [esp + 0x510], 0xd
call fcn.100011d6
sub esp, 0x10
mov byte [esp + 0x520], 0xe
mov edx, eax
mov esi, esp
mov dword [esp + 0x28], esp
call fcn.1000c7b2
lea eax, [esp + 0x54]
push eax
mov edx, str.icoName
mov byte [esp + 0x524], 0xf
call fcn.1000da19
mov edi, eax
mov byte [esp + 0x520], 0xe
call fcn.1000ca05
push ebx
push 1
lea ecx, [esp + 0x60]
call fcn.10001a6f
push ebx
push 1
lea esi, [esp + 0x28]
mov byte [esp + 0x510], 3
call fcn.10001b40
push str.wfviewer.exe
lea esi, [esp + 0x24]
call fcn.10003093
mov eax, esi
push eax
lea eax, [esp + 0x5c]
push eax
mov byte [esp + 0x510], 0x10
call fcn.100011d6
sub esp, 0x10
mov byte [esp + 0x520], 0x11
mov dword [esp + 0x28], esp
mov edx, eax
mov esi, esp
call fcn.1000c7b2
lea eax, [esp + 0x54]
push eax
mov edx, 0x10033df0
mov byte [esp + 0x524], 0x12
call fcn.1000da19
mov edi, eax
mov byte [esp + 0x520], 0x11
call fcn.1000ca05
push ebx
push 1
lea ecx, [esp + 0x60]
call fcn.10001a6f
push ebx
push 1
lea esi, [esp + 0x28]
mov byte [esp + 0x510], 3
call fcn.10001b40
cmp dword [esp + 0x14], ebx
je 0x10003e5b
push dword [esp + 0x14]
lea esi, [esp + 0x24]
call fcn.10003093
mov eax, esi
push eax
lea eax, [esp + 0x5c]
push eax
mov byte [esp + 0x510], 0x13
call fcn.100011d6
sub esp, 0x10
mov byte [esp + 0x520], 0x14
mov edx, eax
mov esi, esp
mov dword [esp + 0x28], esp
call fcn.1000c7b2
lea eax, [esp + 0x54]
push eax
mov edx, str.param
mov byte [esp + 0x524], 0x15
call fcn.1000da19
mov edi, eax
mov byte [esp + 0x520], 0x14
call fcn.1000ca05
push ebx
push 1
lea ecx, [esp + 0x60]
call fcn.10001a6f
push ebx
push 1
lea esi, [esp + 0x28]
call fcn.10001b40
sub esp, 0x18
mov esi, esp
mov dword [esp + 0x28], esp
push ebx
call fcn.1000c73f
lea eax, [esp + 0x54]
push eax
mov edx, str.showNotAlert
mov byte [esp + 0x524], 0x19
call fcn.1000da19
mov edi, eax
mov byte [esp + 0x520], 3
call fcn.1000ca05
sub esp, 0x18
mov esi, esp
mov dword [esp + 0x28], esp
push ebx
call fcn.1000c73f
lea eax, [esp + 0x54]
push eax
mov edx, str.runas
mov byte [esp + 0x524], 0x1a
call fcn.1000da19
mov edi, eax
mov byte [esp + 0x520], 3
call fcn.1000ca05
sub esp, 0x18
mov esi, esp
mov dword [esp + 0x28], esp
push ebx
call fcn.1000c73f
lea eax, [esp + 0x54]
push eax
mov edx, str.fullscreen
mov byte [esp + 0x524], 0x1e
call fcn.1000da19
mov edi, eax
mov byte [esp + 0x520], 3
call fcn.1000ca05
sub esp, 0x18
mov esi, esp
mov dword [esp + 0x28], esp
push ebx
call fcn.1000c73f
lea eax, [esp + 0x54]
push eax
mov edx, str.closeExpired
mov byte [esp + 0x524], 0x1f
call fcn.1000da19
mov edi, eax
mov byte [esp + 0x520], 3
call fcn.1000ca05
lea esi, [esp + 0xc8]
call fcn.10006bc2
xor eax, eax
mov byte [esp + 0x508], 0x20
push 0x206
mov word [esp + 0xe8], ax
lea eax, [esp + 0xea]
push ebx
push eax
call fcn.1001a170
add esp, 0xc
lea eax, [esp + 0xe4]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
lea ecx, [esp + 0x58]
call fcn.10006c22
cmp dword [eax + 0x18], 8
jb 0x10003f8a
mov eax, dword [eax + 4]
jmp 0x10003f8d
add eax, 4
push eax
lea eax, [esp + 0xe8]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
xor edi, edi
push ebx
inc edi
push edi
lea esi, [esp + 0x60]
call fcn.10001b40
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0x5c]
call fcn.1000de3d
push eax
lea eax, [esp + 0xb0]
push eax
mov byte [esp + 0x510], 0x22
call fcn.10015a32
pop ecx
pop ecx
push ebx
push edi
lea ecx, [esp + 0x60]
mov byte [esp + 0x510], 0x24
call fcn.10001a6f
cmp dword [esp + 0xc4], 0x10
mov eax, dword [esp + 0xb0]
jae 0x10003ffb
lea eax, [esp + 0xb0]
push dword [esp + 0xc0]
push eax
lea eax, [esp + 0xec]
push eax
call fcn.10007143
call fcn.10007bf1
mov esi, eax
cmp esi, ebx
je 0x10004031
push esi
push 4
lea eax, [esp + 0xec]
push eax
call dword [sym.imp.ADVAPI32.dll_SetFileSecurityW]
call fcn.10007bcd
cmp dword [esp + 0x8c], 8
mov eax, dword [esp + 0x78]
jae 0x10004043
lea eax, [esp + 0x78]
lea ecx, [esp + 0xe4]
push ecx
push eax
push str.__ls___common__ls
lea ecx, [esp + 0x9c]
call fcn.10007cca
add esp, 0xc
push ebx
mov byte [esp + 0x50c], 0x25
call dword [sym.imp.KERNEL32.dll_SetLastError]
cmp dword [esp + 0xa8], 8
mov eax, dword [esp + 0x94]
jae 0x10004087
lea eax, [esp + 0x94]
push eax
call fcn.10007952
cmp eax, ebx
jne 0x100040c9
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
cmp eax, 5
je 0x100040a7
call esi
cmp eax, 0x522
jne 0x1000410f
cmp dword [esp + 0xa8], 8
mov eax, dword [esp + 0x94]
jae 0x100040bf
lea eax, [esp + 0x94]
push eax
call fcn.10007805
cmp eax, ebx
je 0x1000410f
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push ebx
push edi
lea esi, [esp + 0x98]
call fcn.10001b40
push ebx
push edi
lea ecx, [esp + 0xb4]
call fcn.10001a6f
push ebx
push edi
lea ecx, [esp + 0xd0]
call fcn.10001a6f
lea esi, [esp + 0x3c]
mov byte [esp + 0x508], bl
call fcn.1000c982
jmp 0x10003af4
mov esi, dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
push str.ShowClientNotify_failed:
call esi
push 0x1003411c
call esi
push ebx
push edi
lea esi, [esp + 0x98]
call fcn.10001b40
push ebx
push edi
lea ecx, [esp + 0xb4]
call fcn.10001a6f
push ebx
push edi
lea ecx, [esp + 0xd0]
call fcn.10001a6f
lea esi, [esp + 0x3c]
mov byte [esp + 0x508], bl
call fcn.1000c982
push ebx
push edi
jmp 0x10004164
push ebx
push 1
lea esi, [esp + 0x7c]
call fcn.10001b40
xor eax, eax
mov ecx, dword [esp + 0x500]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x4e8]
xor ecx, esp
call fcn.10017861
mov esp, ebp
pop ebp
ret