Function at 0x401015
Capabilities:
Create directory
Create process on windows
Get common file path

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x37794
call fcn.00405560
push edi
mov al, byte [0xf0c5ac]
mov byte [ebp - 0x668c], al
xor ecx, ecx
mov dword [ebp - 0x668b], ecx
mov dword [ebp - 0x6687], ecx
mov dword [ebp - 0x6683], ecx
mov byte [ebp - 0x667f], cl
mov dl, byte [0xf0c5b0]
mov byte [ebp - 0x3762c], dl
mov ecx, 0xc34f
xor eax, eax
lea edi, [ebp - 0x3762b]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov al, byte [0xf0c5b4]
mov byte [ebp - 0x667c], al
mov ecx, 0x1869
xor eax, eax
lea edi, [ebp - 0x667b]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov cl, byte [0xf0c5b8]
mov byte [ebp - 0x104], cl
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x103]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov dl, byte [0xf0c5bc]
mov byte [ebp - 0x37794], dl
mov ecx, 0x59
xor eax, eax
lea edi, [ebp - 0x37793]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov dword [ebp - 0x6798], 0
mov dword [ebp - 0x68a0], 0
mov dword [ebp - 0x68b8], 0
mov dword [ebp - 0x6794], 0
mov al, byte [0xf0c5c0]
mov byte [ebp - 0x490], al
mov ecx, 0x59
xor eax, eax
lea edi, [ebp - 0x48f]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov cl, byte [0xf0c5c4]
mov byte [ebp - 0x208], cl
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x207]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov dl, byte [0xf0c5c8]
mov byte [ebp - 0x689c], dl
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x689b]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov al, byte [0xf0c5cc]
mov byte [ebp - 0x6790], al
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x678f]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov cl, byte [0xf0c5d0]
mov byte [ebp - 0x314], cl
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x313]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov dl, byte [0xf0c5d4]
mov byte [ebp - 0x68e8], dl
mov ecx, 9
xor eax, eax
lea edi, [ebp - 0x68e7]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov al, byte [0xf0c5d8]
mov byte [ebp - 0x68b4], al
xor ecx, ecx
mov dword [ebp - 0x68b3], ecx
mov dword [ebp - 0x68af], ecx
mov dword [ebp - 0x68ab], ecx
mov dword [ebp - 0x68a7], ecx
mov word [ebp - 0x68a3], cx
mov byte [ebp - 0x68a1], cl
mov dword [ebp - 0x328], 0
mov dword [ebp - 0x320], 0
mov dword [ebp - 0x210], 0
mov dword [ebp - 0x31c], 0
mov dword [ebp - 0x20c], 0
mov dword [ebp - 0x318], 0
mov dword [ebp - 0x324], 0
mov dword [ebp - 0x68c0], 0
mov dword [ebp - 0x68ec], 0
mov dword [ebp - 0x68bc], 0
mov dword [ebp - 0x498], 0
mov dword [ebp - 0x494], 0
push 1
call fcn.00404a9c
add esp, 4
mov dword [ebp - 0x498], eax
push 0x104
push 0xf097a8
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov dword [ebp - 0x6798], eax
mov edx, dword [ebp + 8]
push edx
push 0xf06e90
call fcn.00405340
add esp, 8
push 0xf097a8
call fcn.00405490
add esp, 4
mov dword [ebp - 0x6798], eax
jmp 0x4012a0
mov eax, dword [ebp - 0x6798]
sub eax, 1
mov dword [ebp - 0x6798], eax
cmp dword [ebp - 0x6798], 1
jle 0x4012f3
push 1
mov ecx, dword [ebp - 0x6798]
push ecx
push 0xf097a8
call fcn.00403dda
add esp, 0xc
push eax
call fcn.00403d76
add esp, 4
cmp eax, 0x5c
jne 0x4012f1
mov edx, dword [ebp - 0x6798]
push edx
push 0xf097a8
call fcn.00403f07
add esp, 8
push eax
push 0xf0ab30
call fcn.00405340
add esp, 8
jmp 0x4012f3
jmp 0x401291
push str._____65680
push 0xf0c14c
call fcn.00405340
add esp, 8
push str.aRCheliFUN
push 0xf0c140
call fcn.00405340
add esp, 8
mov dword [ebp - 0x6798], 1
jmp 0x401332
mov eax, dword [ebp - 0x6798]
add eax, 1
mov dword [ebp - 0x6798], eax
cmp dword [ebp - 0x6798], 0xb
jge 0x401369
push 1
mov ecx, dword [ebp - 0x6798]
push ecx
push 0xf0c140
call fcn.00403dda
add esp, 0xc
push eax
call fcn.00403d76
add esp, 4
mov edx, dword [ebp - 0x6798]
mov dword [edx*4 + 0x40ddd4], eax
jmp 0x401323
push 1
call fcn.004041b2
add esp, 4
mov dword [ebp - 0x6798], eax
mov eax, dword [ebp - 0x6798]
push eax
push 0x40d048
push 0xf0c0c4
call fcn.00405430
add esp, 0xc
push 5
push 0xf0c0c4
call fcn.00403f5d
add esp, 8
push eax
push 0xf0c0ec
call fcn.00405340
add esp, 8
fild dword [ebp - 0x6798]
sub esp, 8
fstp qword [esp]
call fcn.00403d93
add esp, 8
push eax
push 0xf0c0c4
call fcn.00405340
add esp, 8
push 5
push 0xf0c0c4
call fcn.00403f5d
add esp, 8
push eax
push 0xf0c114
call fcn.00405340
add esp, 8
mov dword [ebp - 0x6798], 0
push 0xf0c5dc
push 0xf057ec
call fcn.00405340
add esp, 8
push 0xf0c5e0
lea ecx, [ebp - 0x208]
push ecx
call fcn.00405340
add esp, 8
push 0xf057ec
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
mov dword [ebp - 0x494], eax
mov edx, dword [ebp - 0x494]
push edx
push 0xf057ec
call fcn.00403f07
add esp, 8
push eax
push 0xf057ec
call fcn.00405340
add esp, 8
push 0x72
call fcn.00403d1a
add esp, 4
push eax
push 0x65
call fcn.00403d1a
add esp, 4
push eax
push 0x64
call fcn.00403d1a
add esp, 4
push eax
push 0x6c
call fcn.00403d1a
add esp, 4
push eax
push 0x6f
call fcn.00403d1a
add esp, 4
push eax
push 0x66
call fcn.00403d1a
add esp, 4
push eax
push 0x61
call fcn.00403d1a
add esp, 4
push eax
push 0xf057ec
push 0x40d04c
push 0xf059f4
call fcn.00405430
add esp, 0x28
push 0
push 0xf059f4
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
mov dword [ebp - 0x6798], eax
push 0x70
call fcn.00403d1a
add esp, 4
push eax
push 0x6d
call fcn.00403d1a
add esp, 4
push eax
push 0x74
call fcn.00403d1a
add esp, 4
push eax
push 0x7a
call fcn.00403d1a
add esp, 4
push eax
push 0xf057ec
push 0x40d060
push 0xf058f0
call fcn.00405430
add esp, 0x1c
push 0
push 0xf058f0
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
mov dword [ebp - 0x6798], eax
mov dword [ebp - 0x6798], 0
push 0x40d06c
push 4
call fcn.004039bc
add esp, 4
push eax
push 0x40d074
push 0xf058f0
push 0x40d078
push 0xf0bebc
call fcn.00405430
add esp, 0x18
push 0x40d084
push 5
call fcn.004039bc
add esp, 4
push eax
push 0x40d08c
push 0xf058f0
push 0x40d090
push 0xf0bfc0
call fcn.00405430
add esp, 0x18
push str..bat
push 1
call fcn.004039bc
add esp, 4
push eax
push 0x40d0a4
push 0xf058f0
push str._s_s_s_s
push 0xf05b08
call fcn.00405430
add esp, 0x18
push 0xf05b08
push 0xf08218
call fcn.00405340
add esp, 8
push 0xf0c5e4
lea eax, [ebp - 0x104]
push eax
call fcn.00405340
add esp, 8
push str..exe
push 2
call fcn.004039bc
add esp, 4
push eax
push 0x40d0bc
lea ecx, [ebp - 0x104]
push ecx
call fcn.00405430
add esp, 0x10
lea edx, [ebp - 0x104]
push edx
push 0x40d0c4
push 0xf058f0
push str._s_s_s
push 0xf0831c
call fcn.00405430
add esp, 0x14
push 0x73
call fcn.00403d1a
add esp, 4
push eax
lea eax, [ebp - 0x6790]
push eax
call fcn.00405340
add esp, 8
push 0x65
call fcn.00403d1a
add esp, 4
push eax
lea ecx, [ebp - 0x6790]
push ecx
call fcn.00405350
add esp, 8
push 0x74
call fcn.00403d1a
add esp, 4
push eax
lea edx, [ebp - 0x6790]
push edx
call fcn.00405350
add esp, 8
push 0x20
call fcn.00403d1a
add esp, 4
push eax
lea eax, [ebp - 0x6790]
push eax
call fcn.00405350
add esp, 8
push 0x7a
call fcn.00403d1a
add esp, 4
push eax
lea ecx, [ebp - 0x6790]
push ecx
call fcn.00405350
add esp, 8
push 0x74
call fcn.00403d1a
add esp, 4
push eax
lea edx, [ebp - 0x6790]
push edx
call fcn.00405350
add esp, 8
push 0x6d
call fcn.00403d1a
add esp, 4
push eax
lea eax, [ebp - 0x6790]
push eax
call fcn.00405350
add esp, 8
push 0x70
call fcn.00403d1a
add esp, 4
push eax
lea ecx, [ebp - 0x6790]
push ecx
call fcn.00405350
add esp, 8
push 0x3d
call fcn.00403d1a
add esp, 4
push eax
lea edx, [ebp - 0x6790]
push edx
call fcn.00405350
add esp, 8
push 0x73
call fcn.00403d1a
add esp, 4
push eax
lea eax, [ebp - 0x314]
push eax
call fcn.00405340
add esp, 8
push 0x65
call fcn.00403d1a
add esp, 4
push eax
lea ecx, [ebp - 0x314]
push ecx
call fcn.00405350
add esp, 8
push 0x74
call fcn.00403d1a
add esp, 4
push eax
lea edx, [ebp - 0x314]
push edx
call fcn.00405350
add esp, 8
push 0x20
call fcn.00403d1a
add esp, 4
push eax
lea eax, [ebp - 0x314]
push eax
call fcn.00405350
add esp, 8
push 0x4d
call fcn.00403d1a
add esp, 4
push eax
lea ecx, [ebp - 0x314]
push ecx
call fcn.00405350
add esp, 8
push 0x59
call fcn.00403d1a
add esp, 4
push eax
lea edx, [ebp - 0x314]
push edx
call fcn.00405350
add esp, 8
push 0x46
call fcn.00403d1a
add esp, 4
push eax
lea eax, [ebp - 0x314]
push eax
call fcn.00405350
add esp, 8
push 0x49
call fcn.00403d1a
add esp, 4
push eax
lea ecx, [ebp - 0x314]
push ecx
call fcn.00405350
add esp, 8
push 0x4c
call fcn.00403d1a
add esp, 4
push eax
lea edx, [ebp - 0x314]
push edx
call fcn.00405350
add esp, 8
push 0x45
call fcn.00403d1a
add esp, 4
push eax
lea eax, [ebp - 0x314]
push eax
call fcn.00405350
add esp, 8
push 0x53
call fcn.00403d1a
add esp, 4
push eax
lea ecx, [ebp - 0x314]
push ecx
call fcn.00405350
add esp, 8
push 0x3d
call fcn.00403d1a
add esp, 4
push eax
lea edx, [ebp - 0x314]
push edx
call fcn.00405350
add esp, 8
push 0xf058f0
lea eax, [ebp - 0x6790]
push eax
push 0x40d0d0
lea ecx, [ebp - 0x208]
push ecx
call fcn.00405430
add esp, 0x10
push 0xf059f4
lea edx, [ebp - 0x314]
push edx
push 0x40d0d8
lea eax, [ebp - 0x689c]
push eax
call fcn.00405430
add esp, 0x10
push 0x73
call fcn.00403d1a
add esp, 4
push eax
lea ecx, [ebp - 0x6790]
push ecx
call fcn.00405340
add esp, 8
push 0x65
call fcn.00403d1a
add esp, 4
push eax
lea edx, [ebp - 0x6790]
push edx
call fcn.00405350
add esp, 8
push 0x74
call fcn.00403d1a
add esp, 4
push eax
lea eax, [ebp - 0x6790]
push eax
call fcn.00405350
add esp, 8
push 0x20
call fcn.00403d1a
add esp, 4
push eax
lea ecx, [ebp - 0x6790]
push ecx
call fcn.00405350
add esp, 8
push 0x62
call fcn.00403d1a
add esp, 4
push eax
lea edx, [ebp - 0x6790]
push edx
call fcn.00405350
add esp, 8
push 0x66
call fcn.00403d1a
add esp, 4
push eax
lea eax, [ebp - 0x6790]
push eax
call fcn.00405350
add esp, 8
push 0x63
call fcn.00403d1a
add esp, 4
push eax
lea ecx, [ebp - 0x6790]
push ecx
call fcn.00405350
add esp, 8
push 0x65
call fcn.00403d1a
add esp, 4
push eax
lea edx, [ebp - 0x6790]
push edx
call fcn.00405350
add esp, 8
push 0x63
call fcn.00403d1a
add esp, 4
push eax
lea eax, [ebp - 0x6790]
push eax
call fcn.00405350
add esp, 8
push 0x3d
call fcn.00403d1a
add esp, 4
push eax
lea ecx, [ebp - 0x6790]
push ecx
call fcn.00405350
add esp, 8
push 0x61
call fcn.00403d1a
add esp, 4
push eax
lea edx, [ebp - 0x68e8]
push edx
call fcn.00405340
add esp, 8
push 0x74
call fcn.00403d1a
add esp, 4
push eax
lea eax, [ebp - 0x68e8]
push eax
call fcn.00405350
add esp, 8
push 0x74
call fcn.00403d1a
add esp, 4
push eax
lea ecx, [ebp - 0x68e8]
push ecx
call fcn.00405350
add esp, 8
push 0x72
call fcn.00403d1a
add esp, 4
push eax
lea edx, [ebp - 0x68e8]
push edx
call fcn.00405350
add esp, 8
push 0x69
call fcn.00403d1a
add esp, 4
push eax
lea eax, [ebp - 0x68e8]
push eax
call fcn.00405350
add esp, 8
push 0x62
call fcn.00403d1a
add esp, 4
push eax
lea ecx, [ebp - 0x68e8]
push ecx
call fcn.00405350
add esp, 8
push 0x20
call fcn.00403d1a
add esp, 4
push eax
lea edx, [ebp - 0x68e8]
push edx
call fcn.00405350
add esp, 8
push 0x2b
call fcn.00403d1a
add esp, 4
push eax
lea eax, [ebp - 0x68e8]
push eax
call fcn.00405350
add esp, 8
push 0x68
call fcn.00403d1a
add esp, 4
push eax
lea ecx, [ebp - 0x68e8]
push ecx
call fcn.00405350
add esp, 8
push 0x20
call fcn.00403d1a
add esp, 4
push eax
lea edx, [ebp - 0x68e8]
push edx
call fcn.00405350
add esp, 8
push 0xf058f0
lea eax, [ebp - 0x68e8]
push eax
push 0x40d0e0
lea ecx, [ebp - 0x37794]
push ecx
call fcn.00405430
add esp, 0x10
push 0xf0c5e8
push 0xf08420
call fcn.00405340
add esp, 8
push 0x30
call fcn.00403d1a
add esp, 4
push eax
push 0x2f
call fcn.00403d1a
add esp, 4
push eax
push 0x20
call fcn.00403d1a
add esp, 4
push eax
push 0x54
call fcn.00403d1a
add esp, 4
push eax
push 0x46
call fcn.00403d1a
add esp, 4
push eax
push 0x49
call fcn.00403d1a
add esp, 4
push eax
push 0x48
call fcn.00403d1a
add esp, 4
push eax
push 0x53
call fcn.00403d1a
add esp, 4
push eax
push str._s_s_s_s_s_s_s_s
lea edx, [ebp - 0x68b4]
push edx
call fcn.00405430
add esp, 0x28
push 0xa
call fcn.00403d1a
add esp, 4
push eax
push 0xd
call fcn.00403d1a
add esp, 4
push eax
lea eax, [ebp - 0x68b4]
push eax
push 0xa
call fcn.00403d1a
add esp, 4
push eax
push 0xd
call fcn.00403d1a
add esp, 4
push eax
mov ecx, dword [ebp + 8]
push ecx
push str.set_cmdline
push 0xa
call fcn.00403d1a
add esp, 4
push eax
push 0xd
call fcn.00403d1a
add esp, 4
push eax
lea edx, [ebp - 0x104]
push edx
lea eax, [ebp - 0x6790]
push eax
push 0xa
call fcn.00403d1a
add esp, 4
push eax
push 0xd
call fcn.00403d1a
add esp, 4
push eax
lea ecx, [ebp - 0x689c]
push ecx
push 0xa
call fcn.00403d1a
add esp, 4
push eax
push 0xd
call fcn.00403d1a
add esp, 4
push eax
lea edx, [ebp - 0x208]
push edx
push 0xa
call fcn.00403d1a
add esp, 4
push eax
push 0xd
call fcn.00403d1a
add esp, 4
push eax
push str._echo_off
push str._s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s
push 0xf08420
call fcn.00405430
add esp, 0x58
mov eax, dword [ebp + 8]
push eax
push 0x20
call fcn.00403d1a
add esp, 4
push eax
push 0x22
call fcn.00403d1a
add esp, 4
push eax
push 0xf097a8
push 0x22
call fcn.00403d1a
add esp, 4
push eax
push 0x40d144
push 0xf05b08
call fcn.00405430
add esp, 0x1c
push 0xf08218
push 0x20
call fcn.00403d1a
add esp, 4
push eax
push 0x6c
call fcn.00403d1a
add esp, 4
push eax
push 0x65
call fcn.00403d1a
add esp, 4
push eax
push 0x64
call fcn.00403d1a
add esp, 4
push eax
push str._s_s_s_s_s
lea ecx, [ebp - 0x490]
push ecx
call fcn.00405430
add esp, 0x1c
call fcn.00401daa
mov dword [ebp - 0x4d4], 0x3c
mov dword [ebp - 0x4c4], 0xf08218
mov dword [ebp - 0x4d0], 0x40
mov dword [ebp - 0x4cc], 0
mov dword [ebp - 0x4c8], str.open
mov dword [ebp - 0x4c0], 0xf05b08
mov dword [ebp - 0x4bc], 0
mov dword [ebp - 0x4b8], 0
mov dword [ebp - 0x4b4], 0x1d
lea edx, [ebp - 0x4d4]
push edx
call dword [sym.imp.SHELL32.dll_ShellExecuteExA]
cmp dword [ebp - 0x49c], 0
je 0x401d07
push 1
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0xffffffffffffffff
mov eax, dword [ebp - 0x49c]
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ecx, dword [ebp - 0x49c]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [0xf05b00], 1
jne 0x401d58
mov dword [ebp - 0x6798], 0
jmp 0x401d2b
mov edx, dword [ebp - 0x6798]
add edx, 1
mov dword [ebp - 0x6798], edx
mov eax, dword [0xf05b04]
sub eax, 2
cmp dword [ebp - 0x6798], eax
jge 0x401d58
mov ecx, dword [ebp - 0x6798]
imul ecx, ecx, 0x3e8
add ecx, 0x40de04
push ecx
call fcn.0040530e
add esp, 4
jmp 0x401d1c
mov edx, dword [0xf05b04]
sub edx, 2
mov dword [ebp - 0x6798], edx
jmp 0x401d78
mov eax, dword [ebp - 0x6798]
add eax, 1
mov dword [ebp - 0x6798], eax
mov ecx, dword [ebp - 0x6798]
cmp ecx, dword [0xf05b04]
jge 0x401da3
mov edx, dword [ebp - 0x6798]
imul edx, edx, 0x3e8
add edx, 0x40de04
push edx
call fcn.0040530e
add esp, 4
jmp 0x401d69
xor eax, eax
pop edi
mov esp, ebp
pop ebp
ret