Function at 0x40100f
Capabilities:
Create process on windows

Disassembly:
push ebp
lea ebp, [esp - 0x2914]
mov eax, 0x2994
call fcn.00402640
mov eax, dword [0x41f040]
xor eax, ebp
mov dword [ebp + 0x2910], eax
push ebx
push esi
mov esi, dword [ebp + 0x2924]
push edi
push str.DPTRACE
mov dword [ebp - 0x18], esi
call fcn.004023f0
xor edi, edi
pop ecx
cmp eax, edi
jne 0x401050
mov dword [ebp - 0x14], edi
jmp 0x401062
push eax
call fcn.004021c7
cmp eax, edi
pop ecx
mov dword [ebp - 0x14], eax
jg 0x40111e
cmp esi, edi
je 0x40111e
cmp byte [esi], 0
je 0x40111e
lea eax, [ebp + 0xf8]
push esi
push eax
call fcn.004018d0
lea eax, [ebp + 0xf8]
push eax
call fcn.004017aa
mov esi, eax
push str._TRC
push esi
call fcn.00401651
add esp, 0x14
test eax, eax
je 0x4010b1
push str._TRC0
push esi
call fcn.00401651
pop ecx
pop ecx
test eax, eax
je 0x401117
push 0x41b548
push esi
call fcn.00401651
pop ecx
pop ecx
test eax, eax
je 0x4010d3
push 0x41b540
push esi
call fcn.00401651
pop ecx
pop ecx
test eax, eax
je 0x401117
push str._TRACE
push esi
call fcn.00401651
pop ecx
pop ecx
test eax, eax
je 0x4010f5
push str._TRACE0
push esi
call fcn.00401651
pop ecx
pop ecx
test eax, eax
je 0x401117
push 0x41b524
push esi
call fcn.00401651
pop ecx
pop ecx
test eax, eax
je 0x40111e
push 0x41b518
push esi
call fcn.00401651
pop ecx
pop ecx
test eax, eax
jne 0x40111e
mov dword [ebp - 0x14], 3
xor esi, esi
cmp dword [ebp - 0x14], edi
mov ebx, 0x104
jle 0x4011d6
lea eax, [ebp - 0x10]
push eax
call sub.sapfewut.dll_InitBuffer
lea eax, [ebp - 0x10]
push eax
call sub.sapfewut.dll_InitTraceDir
push str.sapshcut.trc
test eax, eax
jne 0x40115b
lea eax, [ebp + 0x2608]
push ebx
push eax
call fcn.00402130
add esp, 0xc
jmp 0x401173
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp + 0x2608]
push str._s_s
push eax
call fcn.00401f7e
add esp, 0x10
lea eax, [ebp + 0x2608]
push 0x41b4fc
push eax
call fcn.00401f14
mov esi, eax
pop ecx
pop ecx
cmp esi, edi
je 0x4011d6
lea eax, [ebp - 0x2c]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
push str._n_n
push esi
call fcn.00401caa
movzx eax, word [ebp - 0x22]
push eax
movzx eax, word [ebp - 0x24]
push eax
movzx eax, word [ebp - 0x2c]
push eax
movzx eax, word [ebp - 0x2a]
push eax
movzx eax, word [ebp - 0x26]
push eax
push str.Local_time:______d._d._d__d:_d_n
push esi
call fcn.00401caa
push dword [ebp - 0x18]
push str._nParameter:________s__n
push esi
call fcn.00401caa
add esp, 0x30
push ebx
lea eax, [ebp + 0x280c]
push edi
push eax
call fcn.00401c30
add esp, 0xc
push ebx
lea eax, [ebp + 0x2504]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea eax, [ebp + 0x21fc]
push eax
lea eax, [ebp + 0x20f8]
push eax
lea eax, [ebp + 0x2400]
push eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp + 0x2504]
push eax
call fcn.00401bda
push edi
push edi
lea eax, [ebp + 0x2400]
push eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp + 0x22fc]
push eax
call fcn.004019c8
push str.sapgui.exe
lea eax, [ebp + 0x22fc]
push eax
lea eax, [ebp + 0x280c]
push 0x41b45c
push eax
call fcn.00401f7e
push 0x1000
lea eax, [ebp + 0x10f8]
push edi
push eax
call fcn.00401c30
mov ebx, dword [ebp - 0x18]
add esp, 0x44
cmp ebx, edi
je 0x4012a6
cmp byte [ebx], 0
je 0x4012a6
lea eax, [ebp + 0x10f8]
push str.__SHORTCUT_
push eax
call fcn.004018d0
lea eax, [ebp + 0x10f8]
push ebx
push eax
call fcn.004018e0
lea eax, [ebp + 0x10f8]
push 0x41b448
push eax
call fcn.004018e0
add esp, 0x18
jmp 0x4012b9
lea eax, [ebp + 0x10f8]
push str.__SHORTCUT___register
push eax
call fcn.004018d0
pop ecx
pop ecx
cmp esi, edi
je 0x4012f6
lea eax, [ebp + 0x2504]
push eax
push str._nProgram:__________s__n
push esi
call fcn.00401caa
push str._ntrying_to_start_sapgui_by_calling_n
push esi
call fcn.00401caa
lea eax, [ebp + 0x10f8]
push eax
lea eax, [ebp + 0x280c]
push eax
push str._t__s__s__n
push esi
call fcn.00401caa
add esp, 0x24
push 0xa
xor eax, eax
mov word [ebp - 0x3e], ax
pop eax
mov word [ebp - 0x40], ax
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0x70]
push eax
push edi
push edi
push 0x10
push edi
push edi
push edi
lea eax, [ebp + 0x10f8]
push eax
lea eax, [ebp + 0x280c]
push eax
mov dword [ebp - 0x70], 0x44
mov dword [ebp - 0x6c], edi
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x68], edi
mov dword [ebp - 0x64], edi
mov dword [ebp - 0x44], 1
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
mov ebx, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x18], eax
cmp ebx, edi
jne 0x401401
push eax
lea eax, [ebp + 0x10f8]
push eax
lea eax, [ebp + 0x280c]
push eax
lea eax, [ebp + 0x270c]
push str._nSapgui_can_not_be_started_by_calling:_n__s__s__n_nError_code:__d_n
push eax
call fcn.00401f7e
add esp, 0x14
push 0x1010
mov ebx, str.Sapgui_Shortcut
push ebx
lea eax, [ebp + 0x270c]
push eax
push edi
mov edi, dword [sym.imp.USER32.dll_MessageBoxA]
call edi
test esi, esi
je 0x401432
push str._nSapgui_can_not_be_started_by_calling:_n
push esi
call fcn.00401caa
lea eax, [ebp + 0x10f8]
push eax
lea eax, [ebp + 0x280c]
push eax
push str._t__s__s__n
push esi
call fcn.00401caa
push dword [ebp - 0x18]
push str.Error_code:__d_n
push esi
call fcn.00401caa
push esi
call fcn.00401846
lea eax, [ebp - 0x10]
push eax
push str.sapshcut.trc
lea eax, [ebp + 0x270c]
push str.The_trace_files__s_has_been_stored_in_directory_n__s.
push eax
call fcn.00401f7e
add esp, 0x38
push 0x1010
push ebx
lea eax, [ebp + 0x270c]
push eax
push 0
call edi
jmp 0x401432
cmp esi, edi
je 0x401432
push str._nSapgui_was_successfully_started_by_calling:_n
push esi
call fcn.00401caa
lea eax, [ebp + 0x10f8]
push eax
lea eax, [ebp + 0x280c]
push eax
push str._t__s__s__n
push esi
call fcn.00401caa
push esi
call fcn.00401846
add esp, 0x1c
mov ecx, dword [ebp + 0x2910]
pop edi
pop esi
xor ecx, ebp
xor eax, eax
pop ebx
call fcn.00402631
add ebp, 0x2914
leave
ret 0x10