Function at 0x10051a0
Capabilities:
Create process on windows
Get common file path
Set current directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x61c
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
push 1
mov dword [0x100f270], edi
pop esi
mov dword [ebp - 4], esi
call fcn.010080ea
push 0x60
call dword [sym.imp.USER32.dll_SetMessageQueue]
xor ebx, ebx
push ebx
call dword [sym.imp.ole32.dll_CoInitialize]
test eax, eax
jl 0x10054a5
push edi
call fcn.01009d46
pop ecx
mov dword [section..data], eax
push edi
call fcn.010058b8
pop ecx
mov dword [0x100e004], eax
push 0x1cfc
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov edi, eax
pop ecx
cmp edi, ebx
mov dword [0x100e018], edi
jne 0x100521e
push ebx
push 0x30
push 0x227
push ebx
call fcn.0100991f
add esp, 0x10
jmp 0x10054a5
mov ecx, 0x73f
xor eax, eax
push 0x20a
push 0x100e568
rep stosd dword es:[edi], eax
call fcn.01002db2
pop ecx
xor eax, eax
pop ecx
mov edi, 0x100e778
push 0x20
pop ecx
push dword [ebp + 0x10]
rep stosd dword es:[edi], eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [eax + eax + 2]
push eax
call dword [sym.imp.MSVCRT.dll_malloc]
mov edi, dword [sym.imp.KERNEL32.dll_lstrcpyW]
cmp eax, ebx
pop ecx
mov dword [0x100e078], eax
je 0x100526e
push dword [ebp + 0x10]
push eax
call edi
call fcn.01002880
test eax, eax
je 0x100527d
mov dword [0x100e00c], esi
push dword [ebp + 0x10]
push dword [ebp + 8]
call fcn.01002ef2
pop ecx
cmp eax, ebx
pop ecx
mov dword [0x100e008], eax
je 0x100554b
cmp dword [0x100e00c], ebx
je 0x100532f
push dword [0x100e078]
call fcn.01002938
test eax, eax
pop ecx
je 0x100532f
mov eax, dword [0x10017dc]
mov esi, 0x81
mov dword [ebp - 0x20c], eax
mov ecx, esi
xor eax, eax
lea edi, [ebp - 0x208]
rep stosd dword es:[edi], eax
mov ecx, esi
lea edi, [ebp - 0x410]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x20c]
push 0x208
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
lea eax, [ebp - 0x20c]
push 0x10017d0
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatW]
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
lea eax, [ebp - 0x20c]
push 1
push eax
push dword [0x100e078]
push 0x1001e50
push 0x1001c28
push ebx
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
jmp 0x1005593
cmp dword [section..data], ebx
jne 0x10053e6
mov edx, dword [0x10017dc]
mov esi, 0x81
mov ecx, esi
xor eax, eax
lea edi, [ebp - 0x410]
mov dword [ebp - 0x414], edx
rep stosd dword es:[edi], eax
mov ecx, esi
lea edi, [ebp - 0x618]
mov dword [ebp - 0x61c], edx
mov esi, 0x104
rep stosd dword es:[edi], eax
mov edi, dword [sym.imp.USER32.dll_LoadStringW]
lea eax, [ebp - 0x414]
push esi
push eax
push 0x2d0
push dword [ebp + 8]
call edi
lea eax, [ebp - 0x61c]
push esi
push eax
push 0x2d1
push dword [ebp + 8]
call edi
lea eax, [ebp - 0x61c]
push 0x10
push eax
lea eax, [ebp - 0x414]
push eax
push ebx
call dword [sym.imp.USER32.dll_MessageBoxW]
lea eax, [ebp - 0x20c]
push eax
lea eax, [ebp + 0x10]
push eax
call fcn.01002a73
cmp word [ebp - 0x20c], bx
pop ecx
pop ecx
je 0x10053dc
push dword [ebp + 0x10]
lea eax, [ebp - 0x20c]
push eax
call fcn.01002e15
pop ecx
pop ecx
jmp 0x10053ae
call fcn.0100995f
jmp 0x1005593
cmp dword [0x100e004], ebx
je 0x1005439
mov edi, dword [sym.imp.USER32.dll_LoadStringW]
mov esi, 0x104
lea eax, [ebp - 0x61c]
push esi
push eax
push 0x2be
push dword [ebp + 8]
call edi
lea eax, [ebp - 0x414]
push esi
push eax
push 0x2bf
push dword [ebp + 8]
call edi
lea eax, [ebp - 0x414]
push 0x10
push eax
lea eax, [ebp - 0x61c]
push eax
push ebx
call dword [sym.imp.USER32.dll_MessageBoxW]
jmp 0x1005593
push dword [ebp + 8]
call fcn.01009ee5
test eax, eax
pop ecx
jne 0x1005646
push esi
push 0x228
push dword [ebp + 8]
call fcn.01005044
add esp, 0xc
test eax, eax
je 0x100554b
push esi
push 0x22c
push dword [ebp + 8]
call fcn.01005044
add esp, 0xc
test eax, eax
je 0x100554b
push esi
push 0x22d
push dword [ebp + 8]
call fcn.01005044
add esp, 0xc
test eax, eax
je 0x100554b
push dword [0x100e018]
call fcn.01003c4a
test eax, eax
pop ecx
jne 0x10054ac
xor eax, eax
jmp 0x100563f
mov eax, dword [0x100e018]
push 0x410
add eax, 0x1530
push eax
push 0x1f4
push dword [0x100f270]
call dword [sym.imp.USER32.dll_LoadStringW]
test eax, eax
jne 0x10054e3
mov eax, dword [0x100e018]
push 0x1001d04
add eax, 0x1530
push eax
call edi
cmp dword [0x100e05c], ebx
je 0x1005509
push ebx
push ebx
call fcn.01002b27
pop ecx
test eax, eax
pop ecx
je 0x1005646
call fcn.0100a15b
test eax, eax
jne 0x1005593
cmp word [0x100e7f8], bx
jne 0x1005523
push 0x100ea08
push 0x100e7f8
call fcn.0100382d
pop ecx
pop ecx
call fcn.010037f8
push 0x1514
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
cmp eax, ebx
pop ecx
je 0x1005540
mov ecx, eax
call fcn.0100a94d
jmp 0x1005542
xor eax, eax
cmp eax, ebx
mov dword [0x100e010], eax
jne 0x1005550
mov dword [ebp - 4], ebx
jmp 0x1005593
call fcn.0100ca79
call fcn.01004330
test eax, eax
je 0x1005565
call fcn.01004f10
jmp 0x1005572
push ebx
call fcn.01003f52
neg eax
sbb eax, eax
pop ecx
neg eax
cmp dword [0x100e050], ebx
mov dword [ebp - 4], eax
jne 0x100558e
mov eax, dword [0x100e018]
cmp dword [eax + 0x40], ebx
je 0x100558e
push ebx
call fcn.0100824b
pop ecx
call fcn.01003ed7
cmp dword [section..data], ebx
je 0x1005615
cmp dword [0x100e008], ebx
je 0x1005615
cmp dword [0x100e004], ebx
jne 0x1005615
push ebx
push 0x228
push dword [ebp + 8]
call fcn.01005044
add esp, 0xc
test eax, eax
jne 0x10055c3
mov dword [ebp - 4], ebx
push ebx
push 0x22c
push dword [ebp + 8]
call fcn.01005044
add esp, 0xc
test eax, eax
jne 0x10055db
mov dword [ebp - 4], ebx
push ebx
push 0x22d
push dword [ebp + 8]
call fcn.01005044
add esp, 0xc
test eax, eax
jne 0x10055f3
mov dword [ebp - 4], ebx
mov eax, dword [0x100e010]
cmp eax, ebx
je 0x1005610
mov esi, eax
cmp esi, ebx
je 0x1005610
mov ecx, esi
call fcn.0100aa30
push esi
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
pop ecx
call fcn.0100cb1d
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, dword [0x100e018]
cmp eax, ebx
je 0x100562b
push eax
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
pop ecx
mov eax, dword [0x100e078]
cmp eax, ebx
je 0x100563c
push eax
call dword [sym.imp.MSVCRT.dll_free]
pop ecx
mov eax, dword [ebp - 4]
pop edi
pop esi
pop ebx
leave
ret 0x10
call fcn.010075fc
jmp 0x1005593