Function at 0x410410
Capabilities:
Create directory
Create process on windows
Set current directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc4
mov eax, dword [0x41e038]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [0x41e63c]
push ebx
push esi
mov esi, 8
push edi
cmp dword [0x41e650], esi
jae 0x41043d
mov eax, 0x41e63c
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
xor ebx, ebx
xor eax, eax
push ebx
mov word [ebp - 0x58], ax
mov edi, 7
push 0x41e604
or eax, 0xffffffff
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x48], ebx
call fcn.00408480
push 0xd
mov eax, 0x401360
lea ecx, [ebp - 0x58]
call fcn.00408790
xor ecx, ecx
push ebx
mov word [ebp - 0x3c], cx
push 0x41e604
or eax, 0xffffffff
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x2c], ebx
call fcn.00408480
push 0xe
mov eax, 0x402dac
lea ecx, [ebp - 0x3c]
call fcn.00408790
mov eax, dword [ebp - 0x3c]
cmp dword [ebp - 0x28], esi
jae 0x4104ae
lea eax, [ebp - 0x3c]
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
push 0xd
mov eax, 0x402bd8
lea ecx, [ebp - 0x3c]
call fcn.00408790
lea edx, [ebp - 0x58]
push ebx
push edx
lea ecx, [ebp - 0x3c]
call fcn.00408010
add esp, 8
cmp dword [0x41e6f4], ebx
je 0x41063d
xor eax, eax
push ebx
mov word [ebp - 0x20], ax
push 0x41e604
or eax, 0xffffffff
lea ecx, [ebp - 0x20]
mov dword [ebp - 0xc], edi
mov dword [ebp - 0x10], ebx
call fcn.00408480
push edi
mov eax, 0x40160c
lea ecx, [ebp - 0x20]
call fcn.00408790
push ebx
push 0x41e6e4
or eax, 0xffffffff
lea esi, [ebp - 0x20]
call fcn.00408c70
push 0xe
mov eax, 0x4015ec
mov ecx, esi
call fcn.00408790
cmp dword [ebp - 0xc], 8
mov eax, dword [ebp - 0x20]
jae 0x410536
mov eax, esi
push ebx
push eax
call dword [sym.imp.MSVCR100.dll__waccess]
add esp, 8
test eax, eax
jne 0x41062a
lea ecx, [ebp - 0x20]
push ebx
push ecx
lea ecx, [ebp - 0x58]
call fcn.00408010
lea edx, [ebp - 0x3c]
push edx
mov edi, 0x40137c
lea ecx, [ebp - 0x58]
call fcn.00410360
lea eax, [ebp - 0x3c]
push eax
mov edi, 0x40163c
lea ecx, [ebp - 0x58]
call fcn.00410360
lea ecx, [ebp - 0x3c]
push ecx
mov edi, 0x401658
lea ecx, [ebp - 0x58]
call fcn.00410360
lea edx, [ebp - 0x3c]
push edx
mov edi, 0x40166c
lea ecx, [ebp - 0x58]
call fcn.00410360
lea eax, [ebp - 0x3c]
push eax
mov edi, 0x40167c
lea ecx, [ebp - 0x58]
call fcn.00410360
lea ecx, [ebp - 0x3c]
push ecx
mov edi, 0x4016a4
lea ecx, [ebp - 0x58]
call fcn.00410360
lea edx, [ebp - 0x3c]
push edx
mov edi, 0x4016dc
lea ecx, [ebp - 0x58]
call fcn.00410360
lea eax, [ebp - 0x3c]
push eax
mov edi, 0x4016f8
lea ecx, [ebp - 0x58]
call fcn.00410360
lea ecx, [ebp - 0x3c]
push ecx
mov edi, 0x401714
lea ecx, [ebp - 0x58]
call fcn.00410360
lea edx, [ebp - 0x3c]
push edx
mov edi, 0x402dcc
lea ecx, [ebp - 0x58]
call fcn.00410360
lea eax, [ebp - 0x3c]
push eax
mov edi, 0x401730
lea ecx, [ebp - 0x58]
call fcn.00410360
lea ecx, [ebp - 0x3c]
push ecx
mov edi, 0x40174c
lea ecx, [ebp - 0x58]
call fcn.00410360
add esp, 0x38
mov edi, 7
cmp dword [ebp - 0xc], 8
jb 0x41063d
mov edx, dword [ebp - 0x20]
push edx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
push 0x38
lea eax, [ebp - 0xc0]
push ebx
push eax
call sub.MSVCR100.dll_memset
add esp, 0xc
lea ecx, [ebp - 0xc4]
push ecx
mov dword [ebp - 0xc4], 0x3c
mov dword [ebp - 0xc0], 0x2004000
mov dword [ebp - 0xbc], ebx
mov dword [ebp - 0xb8], ebx
mov dword [ebp - 0xb4], 0x401524
mov dword [ebp - 0xb0], ebx
mov dword [ebp - 0xa8], 1
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
cmp dword [0x41e710], ebx
je 0x410883
xor eax, eax
xor edx, edx
mov word [ebp - 0x74], ax
push 1
mov eax, 0x402d44
lea esi, [ebp - 0x74]
mov dword [ebp - 0xc], edi
mov dword [ebp - 0x10], ebx
mov word [ebp - 0x20], dx
mov dword [ebp - 0x60], edi
mov dword [ebp - 0x64], ebx
call fcn.004088c0
mov ecx, esi
push ecx
mov ecx, 0x41e700
lea edx, [ebp - 0x88]
call fcn.00410cc0
add esp, 4
cmp dword [ebp - 0x60], 8
jb 0x4106f2
mov edx, dword [ebp - 0x74]
push edx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov ecx, dword [ebp - 0x84]
mov esi, dword [ebp - 0x88]
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x410801
mov edi, esi
mov dword [ebp - 0x78], eax
mov ebx, 1
call fcn.00411f90
mov ebx, eax
cmp ebx, 0xffffffff
je 0x4107f0
push 0x1b
mov eax, 0x402de8
lea ecx, [ebp - 0x20]
call fcn.00408790
xor eax, eax
push eax
mov word [ebp - 0x74], ax
push edi
mov eax, ebx
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x60], 7
mov dword [ebp - 0x64], 0
call fcn.00408480
push 0
lea ecx, [ebp - 0x74]
push ecx
or eax, 0xffffffff
lea esi, [ebp - 0x20]
call fcn.00408c70
cmp dword [ebp - 0x60], 8
jb 0x410786
mov edx, dword [ebp - 0x74]
push edx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
push 3
mov eax, 0x402e20
lea ecx, [ebp - 0x20]
call fcn.00408790
xor eax, eax
inc ebx
push ebx
mov word [ebp - 0x74], ax
push edi
or eax, 0xffffffff
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x60], 7
mov dword [ebp - 0x64], 0
call fcn.00408480
push 0
lea ecx, [ebp - 0x74]
push ecx
or eax, 0xffffffff
lea esi, [ebp - 0x20]
call fcn.00408c70
cmp dword [ebp - 0x60], 8
jb 0x4107db
mov edx, dword [ebp - 0x74]
push edx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
push 2
mov eax, 0x402e28
lea ecx, [ebp - 0x20]
call fcn.00408790
mov esi, dword [ebp - 0x88]
add edi, 0x1c
dec dword [ebp - 0x78]
jne 0x41071e
xor ebx, ebx
lea edi, [ebx + 7]
cmp dword [ebp - 0x10], ebx
je 0x410844
mov eax, 9
lea ecx, [ebp - 0x20]
call fcn.00411b20
cmp dword [ebp - 0xc], 8
mov dword [ebp - 0xc0], 0x4000
jb 0x41082e
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0xb0], eax
jmp 0x410837
lea ecx, [ebp - 0x20]
mov dword [ebp - 0xb0], ecx
lea edx, [ebp - 0xc4]
push edx
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
cmp esi, ebx
je 0x410870
cmp esi, dword [ebp - 0x84]
je 0x410866
call fcn.00412770
add esi, 0x1c
cmp esi, dword [ebp - 0x84]
jne 0x410850
mov esi, dword [ebp - 0x88]
push esi
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
cmp dword [ebp - 0xc], 8
jb 0x410883
mov eax, dword [ebp - 0x20]
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov esi, 8
cmp dword [ebp - 0x28], esi
jb 0x41089a
mov ecx, dword [ebp - 0x3c]
push ecx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor edx, edx
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x2c], ebx
mov word [ebp - 0x3c], dx
cmp dword [ebp - 0x44], esi
jb 0x4108b8
mov eax, dword [ebp - 0x58]
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
pop ebx
call fcn.0041b4f6
mov esp, ebp
pop ebp
ret