Function at 0x4170a0
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c0
mov eax, dword [0x487304]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
mov edi, dword [ebp + 0x10]
push eax
call fcn.00432b9a
add esp, 4
lea eax, [ebp - 0x14c]
push str.Resource
push eax
lea eax, [ebp - 0x190]
push eax
call fcn.004307de
add esp, 4
mov ecx, eax
call fcn.0042e729
mov ecx, eax
call fcn.0042e701
push eax
call fcn.00432d01
add esp, 4
lea ecx, [ebp - 0x14c]
call fcn.0042e585
lea ecx, [ebp - 0x190]
call fcn.0042e585
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
push 0
mov esi, eax
call dword [sym.imp.ole32.dll_OleInitialize]
test esi, esi
js 0x417787
call fcn.00403300
mov ecx, eax
test ecx, ecx
je 0x41779c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x194], eax
test edi, edi
je 0x417171
test edi, 0xffff0000
jne 0x417161
movzx eax, di
lea ecx, [ebp - 0x194]
push eax
call fcn.004080e0
jmp 0x417180
mov ecx, edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x417166
sub ecx, edx
jmp 0x417173
xor ecx, ecx
push ecx
push edi
lea ecx, [ebp - 0x194]
call fcn.00408260
mov esi, dword [ebp - 0x194]
or ebx, 0xffffffff
mov eax, dword [esi - 0xc]
test eax, eax
jne 0x4171ce
push eax
push str.BOX_MainFrame
call dword [sym.imp.USER32.dll_FindWindowA]
mov edi, eax
test edi, edi
je 0x4171c4
push edi
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x4171c4
push 5
push edi
call dword [sym.imp.USER32.dll_ShowWindow]
push 1
push edi
call dword [sym.imp.USER32.dll_SwitchToThisWindow]
jmp 0x41776a
call fcn.00416ff0
jmp 0x417747
mov edi, dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbsstr]
js 0x417316
push str._newfreetab
push esi
call edi
add esp, 8
test eax, eax
je 0x417316
sub eax, esi
js 0x417316
push 0
push str.BOX_MainFrame
call dword [sym.imp.USER32.dll_FindWindowA]
mov dword [ebp - 0x194], eax
test eax, eax
je 0x417747
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x417747
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push 0x33c
mov dword [ebp - 0x19c], eax
call fcn.00466317
add esp, 4
mov edi, eax
push 1
push dword [ebp - 0x19c]
push dword [ebp - 0x194]
sub esp, 0x44
mov ecx, esp
push 0xffffffffffffffff
push 0x4774ed
call fcn.0042e46f
mov ecx, edi
call fcn.004083b0
push 0
push 0x1b3
push 0x244
push 0
push 0
push 0
push 0x56000000
push esi
push dword [ebp - 0x194]
mov edi, eax
mov ecx, edi
call fcn.0042f366
push 1
push 0
mov ecx, edi
call fcn.0042f7a3
push 0x6c
mov ecx, edi
call fcn.0042f712
mov ecx, edi
call fcn.00403480
mov edi, eax
call fcn.00403300
test eax, eax
je 0x41779c
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [ebp - 0x1b4], eax
call fcn.00403300
test eax, eax
je 0x41779c
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [ebp - 0x1ac], 0xa
mov dword [ebp - 0x1b0], eax
mov eax, dword [ebp - 0x19c]
mov dword [ebp - 0x1c0], eax
lea eax, [ebp - 0x1c0]
mov dword [ebp - 0x1a4], eax
lea eax, [ebp - 0x1ac]
push eax
push 0
push 0x4a
push dword [ebp - 0x194]
jmp 0x4174f2
cmp dword [esi - 0xc], 0
jl 0x41775a
push str._newtab
push esi
call edi
add esp, 8
test eax, eax
je 0x41754b
sub eax, esi
js 0x41754b
push 0
push str.BOX_MainFrame
call dword [sym.imp.USER32.dll_FindWindowA]
mov dword [ebp - 0x19c], eax
test eax, eax
je 0x417747
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x417747
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
cmp dword [esi - 0xc], 0
mov dword [ebp - 0x1a0], eax
jge 0x41737c
or ecx, 0xffffffff
jmp 0x417390
push 0x477ec0
push esi
call edi
mov ecx, eax
add esp, 8
sub ecx, esi
test eax, eax
cmove ecx, ebx
push ecx
push 0
lea eax, [ebp - 0x198]
push eax
lea ecx, [ebp - 0x194]
call fcn.00407b60
lea edi, [esi - 0x10]
mov edx, dword [eax]
lea ecx, [edx - 0x10]
cmp ecx, edi
je 0x4173fe
cmp dword [edi + 0xc], 0
lea esi, [edi + 0xc]
jl 0x4173e9
mov eax, dword [ecx]
cmp eax, dword [edi]
jne 0x4173e9
call fcn.00402d90
mov dword [ebp - 0x194], eax
mov ecx, ebx
lock xadd dword [esi], ecx
dec ecx
test ecx, ecx
jg 0x4173e4
mov ecx, dword [edi]
push edi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x194]
lea esi, [eax + 0x10]
jmp 0x4173fe
push dword [edx - 0xc]
lea ecx, [ebp - 0x194]
push edx
call fcn.00408260
mov esi, dword [ebp - 0x194]
mov edx, dword [ebp - 0x198]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41741b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0x33c
call fcn.00466317
add esp, 4
mov edi, eax
push 1
push dword [ebp - 0x1a0]
push dword [ebp - 0x19c]
sub esp, 0x44
mov ecx, esp
push 0xffffffffffffffff
push esi
call fcn.0042e46f
mov ecx, edi
call fcn.004083b0
push 0
push 0x1b3
push 0x244
push 0
push 0
push 0
push 0x56000000
push esi
push dword [ebp - 0x19c]
mov edi, eax
mov ecx, edi
call fcn.0042f366
push 0x6c
mov ecx, edi
call fcn.0042f712
mov ecx, edi
call fcn.00403480
mov edi, eax
call fcn.00403300
test eax, eax
je 0x41779c
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [ebp - 0x1b4], eax
call fcn.00403300
test eax, eax
je 0x41779c
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [ebp - 0x1ac], 2
mov dword [ebp - 0x1b0], eax
mov eax, dword [ebp - 0x1a0]
mov dword [ebp - 0x1c0], eax
lea eax, [ebp - 0x1c0]
mov dword [ebp - 0x1a4], eax
lea eax, [ebp - 0x1ac]
push eax
push 0
push 0x4a
push dword [ebp - 0x19c]
mov dword [ebp - 0x1bc], edi
mov dword [ebp - 0x1a8], 0x14
call dword [sym.imp.USER32.dll_SendMessageA]
mov edx, dword [ebp - 0x1b0]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x417525
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x1b4]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x417747
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x417747
cmp dword [esi - 0xc], 0
jl 0x41775a
push str._shortcut
push esi
call edi
add esp, 8
test eax, eax
je 0x4176c3
sub eax, esi
js 0x4176c3
cmp dword [esi - 0xc], 0
jge 0x41757b
or ecx, 0xffffffff
jmp 0x41758f
push str._shortcut:
push esi
call edi
mov ecx, eax
add esp, 8
sub ecx, esi
test eax, eax
cmove ecx, ebx
mov eax, dword [esi - 0xc]
add ecx, 0xa
sub eax, ecx
push eax
push ecx
lea eax, [ebp - 0x1a0]
push eax
lea ecx, [ebp - 0x194]
call fcn.00407b60
lea edi, [esi - 0x10]
mov edx, dword [eax]
lea ecx, [edx - 0x10]
cmp ecx, edi
je 0x417604
cmp dword [edi + 0xc], 0
lea esi, [edi + 0xc]
jl 0x4175ef
mov eax, dword [ecx]
cmp eax, dword [edi]
jne 0x4175ef
call fcn.00402d90
mov dword [ebp - 0x198], eax
mov ecx, ebx
lock xadd dword [esi], ecx
dec ecx
test ecx, ecx
jg 0x4175ea
mov ecx, dword [edi]
push edi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x198]
lea esi, [eax + 0x10]
jmp 0x417604
push dword [edx - 0xc]
lea ecx, [ebp - 0x194]
push edx
call fcn.00408260
mov esi, dword [ebp - 0x194]
mov edx, dword [ebp - 0x1a0]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x417621
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0
push str.BOX_MainFrame
call dword [sym.imp.USER32.dll_FindWindowA]
mov edi, eax
test edi, edi
jne 0x417654
call fcn.00416ff0
sub esp, 0x44
mov edi, eax
mov ecx, esp
push 0xffffffffffffffff
push esi
call fcn.0042e46f
mov ecx, edi
call fcn.0042afa0
jmp 0x417747
push edi
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x417747
push 0x104
lea eax, [ebp - 0x108]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
push esi
lea eax, [ebp - 0x108]
push 0x104
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcpy_s]
add esp, 0x18
mov dword [ebp - 0x1a8], 0x104
lea eax, [ebp - 0x108]
mov dword [ebp - 0x1ac], 1
mov dword [ebp - 0x1a4], eax
lea eax, [ebp - 0x1ac]
push eax
push 0
push 0x4a
push edi
call dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x41776a
cmp dword [esi - 0xc], 0
jl 0x41775a
push str._openfromsetup
push esi
call edi
add esp, 8
test eax, eax
je 0x41771a
sub eax, esi
js 0x41771a
push 0
push str.BOX_MainFrame
call dword [sym.imp.USER32.dll_FindWindowA]
mov edi, eax
test edi, edi
jne 0x4171ad
call fcn.00416ff0
push ecx
lea ecx, [esi - 0x10]
mov ebx, eax
mov edi, esp
call fcn.00402d90
add eax, 0x10
mov ecx, ebx
mov dword [edi], eax
call fcn.00424950
or ebx, 0xffffffff
jmp 0x417747
cmp dword [esi - 0xc], 0
jl 0x41775a
push str.http
push esi
call edi
add esp, 8
test eax, eax
je 0x41775a
sub eax, esi
js 0x41775a
push 4
push 0
push 0
push esi
push str.open
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
call fcn.00431f38
call dword [sym.imp.ole32.dll_OleUninitialize]
call dword [sym.imp.ole32.dll_CoUninitialize]
jmp 0x417772
push 0
push 0x477e44
push esi
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0
call dword [sym.imp.USER32.dll_PostQuitMessage]
add esi, 0xfffffff0
lock xadd dword [esi + 0xc], ebx
dec ebx
test ebx, ebx
jg 0x417787
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 4]
xor eax, eax
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004662d8
mov esp, ebp
pop ebp
ret 0x10
push 0x80004005
call fcn.004030d0
int3