Function at 0x411f10
Capabilities:
Create thread
Terminate process
Terminate thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x194
mov eax, dword [0x4716e0]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
mov esi, dword [ebp + 0x10]
mov dword [0x474620], eax
mov eax, dword [0x476334]
push edi
push dword [eax]
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameA]
mov edi, eax
push edi
call fcn.00411680
add esp, 4
test al, al
je 0x411f71
cmp dword [0x474eac], 0x10
push 0
mov ecx, 0x474e98
cmovae ecx, dword [0x474e98]
push edi
push ecx
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x412651
cmp byte [esi], 0
mov dword [ebp - 0x164], 0xf
mov dword [ebp - 0x168], 0
mov byte [ebp - 0x178], 0
jne 0x411f95
xor ecx, ecx
jmp 0x411fa9
mov ecx, esi
lea edx, [ecx + 1]
lea ebx, [ebx]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x411fa0
sub ecx, edx
push ecx
push esi
lea ecx, [ebp - 0x178]
call fcn.004015c0
lea eax, [ebp - 0x178]
push eax
lea eax, [ebp - 0x40]
push 0x4750ac
push eax
call fcn.004114e0
add esp, 0xc
cmp dword [ebp - 0x164], 0x10
jb 0x411fe5
push dword [ebp - 0x178]
call fcn.0041572d
add esp, 4
lea eax, [ebp - 0x28]
push eax
call fcn.004091c0
mov edi, dword [sym.imp.KERNEL32.dll_CreateThread]
add esp, 4
lea eax, [ebp - 8]
push 0
push 0
push eax
push 0x411eb0
push 0
push 0
mov dword [ebp - 8], 1
mov dword [ebp - 0xc], 2
mov dword [ebp - 0x10], 3
call edi
mov dword [ebp - 0x194], eax
test eax, eax
jne 0x412032
push dword [ebp - 8]
call dword [sym.imp.KERNEL32.dll_ExitProcess]
lea ecx, [ebp - 0x14c]
call fcn.0040fef0
lea ecx, [ebp - 0x14c]
call fcn.00410470
test eax, eax
jg 0x412096
lea ecx, [ebp - 0x14c]
call fcn.0040ff90
cmp dword [ebp - 0x14], 8
jb 0x412068
push dword [ebp - 0x28]
call fcn.0041572d
add esp, 4
xor eax, eax
cmp dword [ebp - 0x2c], 0x10
mov dword [ebp - 0x14], 7
mov dword [ebp - 0x18], 0
mov word [ebp - 0x28], ax
jb 0x412651
push dword [ebp - 0x40]
call fcn.0041572d
add esp, 4
jmp 0x412651
lea ecx, [ebp - 0x6c]
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 0
call fcn.00403060
lea eax, [ebp - 0x178]
push eax
lea ecx, [ebp - 0x14c]
call fcn.004114a0
push eax
lea ecx, [ebp - 0x6c]
call fcn.00402e10
cmp dword [ebp - 0x164], 0x10
jb 0x4120e5
push dword [ebp - 0x178]
call fcn.0041572d
add esp, 4
push 0xe
lea eax, [ebp - 0x178]
push eax
lea ecx, [ebp - 0x6c]
call fcn.00403a80
mov ecx, eax
cmp dword [ecx + 0x14], 0x10
mov esi, dword [ecx + 0x10]
jb 0x412103
mov ecx, dword [ecx]
mov eax, 1
cmp esi, eax
cmovb eax, esi
push eax
push 0x4609a0
push ecx
call fcn.00401a00
add esp, 0xc
test eax, eax
jne 0x412134
cmp esi, 1
jae 0x41212a
or eax, 0xffffffff
jmp 0x412132
xor eax, eax
cmp esi, 1
setne al
test eax, eax
sete byte [ebp - 0x160]
cmp dword [ebp - 0x164], 0x10
jb 0x412152
push dword [ebp - 0x178]
call fcn.0041572d
add esp, 4
push dword [ebp - 0x160]
lea ecx, [ebp - 0xa0]
call fcn.0040f590
push 0xb
lea eax, [ebp - 0x190]
push eax
lea ecx, [ebp - 0x6c]
call fcn.00403a80
cmp dword [eax + 0x14], 0x10
jb 0x41217c
mov eax, dword [eax]
push eax
call fcn.004181b1
add esp, 4
lea ecx, [ebp - 0x6c]
push eax
push 0xa
lea eax, [ebp - 0x178]
push eax
call fcn.00403a80
push eax
lea eax, [ebp - 0xa0]
push eax
call fcn.00413000
mov ecx, eax
call fcn.004130e0
cmp dword [ebp - 0x164], 0x10
jb 0x4121c2
push dword [ebp - 0x178]
call fcn.0041572d
add esp, 4
cmp dword [ebp - 0x17c], 0x10
mov dword [ebp - 0x164], 0xf
mov dword [ebp - 0x168], 0
mov byte [ebp - 0x178], 0
jb 0x4121f4
push dword [ebp - 0x190]
call fcn.0041572d
add esp, 4
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x190]
push eax
call fcn.004095e0
mov ecx, eax
add esp, 8
cmp dword [ecx + 0x14], 0x10
jb 0x412211
mov ecx, dword [ecx]
cmp dword [0x474ef4], 0x10
mov eax, 0x474ee0
cmovae eax, dword [0x474ee0]
push ecx
push eax
call fcn.00413000
push eax
call fcn.00412cd0
add esp, 0xc
cmp dword [ebp - 0x17c], 0x10
jb 0x41224b
push dword [ebp - 0x190]
call fcn.0041572d
add esp, 4
lea eax, [ebp - 0x190]
push eax
lea ecx, [ebp - 0x14c]
call fcn.004103f0
mov ecx, eax
cmp dword [ecx + 0x14], 0x10
jb 0x412267
mov ecx, dword [ecx]
cmp dword [0x474c3c], 0x10
mov eax, 0x474c28
cmovae eax, dword [0x474c28]
push ecx
push eax
call fcn.00413000
push eax
call fcn.00412cd0
add esp, 0xc
cmp dword [ebp - 0x17c], 0x10
jb 0x4122a1
push dword [ebp - 0x190]
call fcn.0041572d
add esp, 4
push 1
lea eax, [ebp - 0x190]
push eax
lea ecx, [ebp - 0x6c]
call fcn.00403a80
push eax
lea ecx, [ebp - 0xa0]
call fcn.0040fd60
cmp dword [ebp - 0x17c], 0x10
jb 0x4122d5
push dword [ebp - 0x190]
call fcn.0041572d
add esp, 4
push 0x411a00
lea eax, [ebp - 0x190]
push eax
lea ecx, [ebp - 0x14c]
call fcn.004103f0
push eax
lea ecx, [ebp - 0xa0]
call fcn.0040f660
test al, al
sete bl
cmp dword [ebp - 0x17c], 0x10
jb 0x412314
push dword [ebp - 0x190]
call fcn.0041572d
add esp, 4
test bl, bl
jne 0x412623
push 0x1e
mov ecx, 0x475050
mov dword [0x4748c4], 0x1e
call fcn.004143b0
cmp dword [0x474cfc], 0x10
mov eax, 0x474ce8
cmovae eax, dword [0x474ce8]
push eax
call fcn.00413000
push eax
call fcn.00412cd0
add esp, 8
call fcn.00411290
test al, al
je 0x412623
push 0
push 0
lea eax, [ebp - 0xc]
push eax
push 0x411dd0
push 0
push 0
call edi
mov ebx, eax
mov dword [ebp - 0x158], ebx
test ebx, ebx
jne 0x412389
push dword [ebp - 0xc]
call dword [sym.imp.KERNEL32.dll_ExitProcess]
cmp dword [ebp - 0x30], 0
lea ecx, [ebp - 0x14c]
jbe 0x412499
cmp dword [0x4750c0], 0x10
mov eax, 0x4750ac
cmovae eax, dword [0x4750ac]
cmp dword [0x4750d8], 0x10
mov dword [ebp - 0x160], eax
mov eax, 0x4750c4
cmovae eax, dword [0x4750c4]
mov dword [ebp - 0x158], eax
lea eax, [ebp - 0x178]
push eax
call fcn.00410430
mov esi, eax
cmp dword [esi + 0x14], 0x10
jb 0x4123e1
mov esi, dword [esi]
cmp dword [0x4750f0], 0x10
mov eax, 0x4750dc
cmovae eax, dword [0x4750dc]
cmp dword [0x475108], 0x10
mov dword [ebp - 0x150], eax
mov eax, 0x4750f4
cmovae eax, dword [0x4750f4]
sub esp, 0x18
mov ecx, esp
push 0x4609a4
mov dword [ebp - 0x15c], eax
call fcn.00401080
sub esp, 0x18
mov ecx, esp
push str.__s_d___s_s___s_d___sY
call fcn.00401080
lea eax, [ebp - 0x190]
push eax
call fcn.00414670
mov edi, eax
add esp, 0x34
cmp dword [edi + 0x14], 0x10
jb 0x41244a
mov edi, dword [edi]
push dword [ebp - 0x160]
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push dword [ebp - 0x158]
push esi
push dword [ebp - 0x150]
push dword [0x474624]
push dword [ebp - 0x15c]
push edi
push 0x4747c0
call fcn.00402c50
add esp, 0x24
lea ecx, [ebp - 0x190]
call fcn.0040a580
lea ecx, [ebp - 0x178]
call fcn.0040a580
jmp 0x412570
cmp dword [0x4750d8], 0x10
lea eax, [ebp - 0x178]
mov ebx, 0x4750c4
cmovae ebx, dword [0x4750c4]
push eax
call fcn.00410430
mov esi, eax
cmp dword [esi + 0x14], 0x10
jb 0x4124c2
mov esi, dword [esi]
cmp dword [0x4750f0], 0x10
mov eax, 0x4750dc
cmovae eax, dword [0x4750dc]
cmp dword [0x475108], 0x10
mov dword [ebp - 0x15c], eax
mov eax, 0x4750f4
cmovae eax, dword [0x4750f4]
sub esp, 0x18
mov ecx, esp
push 0x4609c8
mov dword [ebp - 0x150], eax
call fcn.00401080
sub esp, 0x18
mov ecx, esp
push str.__s_d___s_s___s_d
call fcn.00401080
lea eax, [ebp - 0x190]
push eax
call fcn.00414670
mov edi, eax
add esp, 0x34
cmp dword [edi + 0x14], 0x10
jb 0x41252b
mov edi, dword [edi]
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push ebx
push esi
push dword [ebp - 0x15c]
push dword [0x474624]
push dword [ebp - 0x150]
push edi
push 0x4747c0
call fcn.00402c50
add esp, 0x20
lea ecx, [ebp - 0x190]
call fcn.0040a580
lea ecx, [ebp - 0x178]
call fcn.0040a580
mov ebx, dword [ebp - 0x158]
lea eax, [ebp - 0x190]
push eax
lea ecx, [ebp - 0x14c]
call fcn.004103f0
push eax
mov ecx, 0x4713b4
call fcn.004031b0
lea ecx, [ebp - 0x190]
call fcn.0040a580
push 0
push 0
lea eax, [ebp - 0x10]
push eax
push 0x411a30
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
test eax, eax
jne 0x4125bc
push dword [ebp - 0x10]
call dword [sym.imp.KERNEL32.dll_ExitProcess]
push 0xea60
push ebx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push 0
push dword [ebp - 0x194]
call dword [sym.imp.KERNEL32.dll_TerminateThread]
cmp byte [0x4747bc], 0
jne 0x412601
cmp dword [0x474ccc], 0x10
mov eax, 0x474cb8
cmovae eax, dword [0x474cb8]
push eax
call fcn.00413000
push eax
call fcn.00412bc0
add esp, 8
cmp dword [0x474ce4], 0x10
mov eax, 0x474cd0
cmovae eax, dword [0x474cd0]
push eax
call fcn.00413000
push eax
call fcn.00412cd0
add esp, 8
lea ecx, [ebp - 0xa0]
call fcn.00408fe0
lea ecx, [ebp - 0x6c]
call fcn.004031a0
lea ecx, [ebp - 0x14c]
call fcn.0040ff90
lea ecx, [ebp - 0x28]
call fcn.00401e10
lea ecx, [ebp - 0x40]
call fcn.0040a580
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
xor eax, eax
pop ebx
call fcn.004163f4
mov esp, ebp
pop ebp
ret 0x10