Function at 0x407730
Capabilities:
Create process on windows
Get common file path
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x270
mov eax, dword [0x41e038]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 0x10]
push esi
mov esi, dword [ebp + 8]
push 0xb
push 0x401334
push ebx
mov dword [ebp - 0x234], esi
mov dword [ebp - 0x230], ebx
call dword [sym.imp.MSVCR100.dll__wcsnicmp]
add esp, 0xc
test eax, eax
sete byte [ebp - 0x229]
mov ecx, 0x40134c
mov eax, ebx
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x40779e
test dx, dx
je 0x40779a
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x40779e
add eax, 4
add ecx, 4
test dx, dx
jne 0x407778
xor eax, eax
jmp 0x4077a3
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4077cd
cmp byte [ebp - 0x229], 0
jne 0x4077cd
push ebx
mov ecx, esi
call fcn.0040b010
add esp, 4
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0041b4f6
mov esp, ebp
pop ebp
ret 0x10
push 0x40135c
call dword [sym.imp.KERNEL32.dll_SetDllDirectoryW]
push 0x104
lea eax, [ebp - 0x20c]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea ecx, [ebp - 0x20c]
push 0x5c
push ecx
call dword [sym.imp.MSVCR100.dll_wcsrchr]
add esp, 8
test eax, eax
je 0x407807
xor edx, edx
mov word [eax + 2], dx
lea eax, [ebp - 0x20c]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x407810
sub eax, edx
sar eax, 1
push edi
push eax
lea eax, [ebp - 0x20c]
mov esi, 0x41e154
call fcn.004088c0
push 0
push eax
or eax, 0xffffffff
mov ecx, 0x41e138
call fcn.00408480
lea edi, [ebp - 0x20c]
add edi, 0xfffffffe
lea ebx, [ebx]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x407850
lea eax, [ebp - 0x20c]
push 0
mov ecx, 7
mov esi, 0x401360
push eax
rep movsd dword es:[edi], dword [esi]
call dword [sym.imp.MSVCR100.dll__waccess]
add esp, 8
test eax, eax
lea eax, [ebp - 0x20c]
jne 0x407930
lea edx, [eax + 2]
jmp 0x407890
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x407890
sub eax, edx
sar eax, 1
push eax
lea eax, [ebp - 0x20c]
mov esi, 0x41e18c
call fcn.004088c0
lea ecx, [ebp - 0x20c]
push ecx
push 0x1000
mov edx, ecx
push edx
push 0x40135c
push 0x40137c
push 0x401390
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
test eax, eax
je 0x407906
lea eax, [ebp - 0x20c]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4078e1
sub eax, edx
sar eax, 1
push eax
lea eax, [ebp - 0x20c]
mov esi, 0x41e170
call fcn.004088c0
jmp 0x407a75
push 0
push 0x41e138
or eax, 0xffffffff
mov ecx, 0x41e170
call fcn.00408480
push 6
mov eax, 0x4013a4
mov ecx, 0x41e170
call fcn.00408790
jmp 0x407a75
push eax
push 0
push 0
push 0x1a
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
mov ebx, eax
lea eax, [ebp - 0x20c]
add eax, 0xfffffffe
lea ebx, [ebx]
mov cx, word [eax + 2]
add eax, 2
test cx, cx
jne 0x407950
mov ecx, dword [0x4013b4]
mov edx, dword [0x4013b8]
mov dword [eax], ecx
mov ecx, dword [0x4013bc]
mov dword [eax + 4], edx
mov edx, dword [0x4013c0]
mov dword [eax + 8], ecx
mov ecx, dword [0x4013c4]
mov dword [eax + 0xc], edx
mov edx, dword [0x4013c8]
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], edx
lea eax, [ebp - 0x20c]
lea edx, [eax + 2]
lea ebx, [ebx]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4079a0
sub eax, edx
sar eax, 1
push eax
lea eax, [ebp - 0x20c]
mov esi, 0x41e154
call fcn.004088c0
lea edi, [ebp - 0x20c]
add edi, 0xfffffffe
lea esp, [esp]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x4079d0
mov ecx, 7
mov esi, 0x401360
lea eax, [ebp - 0x20c]
rep movsd dword es:[edi], dword [esi]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4079f1
sub eax, edx
sar eax, 1
push eax
lea eax, [ebp - 0x20c]
mov esi, 0x41e18c
call fcn.004088c0
test ebx, ebx
js 0x407bec
lea eax, [ebp - 0x20c]
push 0
push eax
call dword [sym.imp.MSVCR100.dll__waccess]
add esp, 8
test eax, eax
jne 0x407bec
lea ecx, [ebp - 0x20c]
push ecx
push 0x1000
mov edx, ecx
push edx
push 0x40135c
push 0x40137c
push 0x401390
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
test eax, eax
je 0x407ba7
push 0x41e170
lea eax, [ebp - 0x20c]
call fcn.004082d0
mov ebx, dword [ebp - 0x230]
cmp byte [ebp - 0x229], 0
je 0x407b38
call fcn.00407c80
test al, al
je 0x407b23
cmp word [ebx + 0x16], 0
je 0x407b23
lea ecx, [ebx + 0x16]
call fcn.00407d00
push 0x41e138
mov ebx, 0x401524
lea eax, [ebp - 0x228]
call fcn.00408f70
push 0x38
lea eax, [ebp - 0x26c]
push 0
push eax
call sub.MSVCR100.dll_memset
add esp, 0x10
cmp dword [ebp - 0x214], 8
mov dword [ebp - 0x270], 0x3c
mov dword [ebp - 0x26c], 0x4000
jb 0x407af5
mov ecx, dword [ebp - 0x228]
mov dword [ebp - 0x260], ecx
jmp 0x407b01
lea edx, [ebp - 0x228]
mov dword [ebp - 0x260], edx
lea eax, [ebp - 0x270]
push eax
mov dword [ebp - 0x254], 1
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
lea esi, [ebp - 0x228]
call fcn.00412770
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0041b4f6
mov esp, ebp
pop ebp
ret 0x10
lea edi, [ebp - 0x230]
mov eax, 0x401540
call fcn.00407fe0
test al, al
je 0x407b78
push 0x401464
push 0x40156c
call dword [sym.imp.USER32.dll_FindWindowW]
push eax
call dword [sym.imp.USER32.dll_SetForegroundWindow]
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0041b4f6
mov esp, ebp
pop ebp
ret 0x10
mov ecx, dword [ebp - 0x234]
mov eax, ebx
call fcn.004090e0
mov ecx, dword [ebp - 0x230]
push ecx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0041b4f6
mov esp, ebp
pop ebp
ret 0x10
mov eax, 0x4013d0
lea ecx, [ebp - 0x228]
call fcn.00408290
cmp dword [ebp - 0x214], 8
mov eax, dword [ebp - 0x228]
jae 0x407bcc
lea eax, [ebp - 0x228]
push 0x40010
push 0x401464
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
lea esi, [ebp - 0x228]
call fcn.00412770
jmp 0x407c5f
xor edx, edx
push 0x4d
mov eax, 0x401488
lea esi, [ebp - 0x228]
mov dword [ebp - 0x214], 7
mov dword [ebp - 0x218], 0
mov word [ebp - 0x228], dx
call fcn.004088c0
mov eax, dword [ebp - 0x228]
mov esi, 8
cmp dword [ebp - 0x214], esi
jae 0x407c34
lea eax, [ebp - 0x228]
push 0x40010
push 0x401464
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp dword [ebp - 0x214], esi
jb 0x407c5f
mov eax, dword [ebp - 0x228]
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
mov eax, 1
pop ebx
call fcn.0041b4f6
mov esp, ebp
pop ebp
ret 0x10