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

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x3777c
call fcn.00404aa0
push edi
mov al, byte [0xde14b4]
mov byte [ebp - 0x6688], al
xor ecx, ecx
mov dword [ebp - 0x6687], ecx
mov dword [ebp - 0x6683], ecx
mov dword [ebp - 0x667f], ecx
mov byte [ebp - 0x667b], cl
mov dl, byte [0xde14b8]
mov byte [ebp - 0x37614], dl
mov ecx, 0xc34f
xor eax, eax
lea edi, [ebp - 0x37613]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov al, byte [0xde14bc]
mov byte [ebp - 0x6678], al
mov ecx, 0x1869
xor eax, eax
lea edi, [ebp - 0x6677]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov cl, byte [0xde14c0]
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 [0xde14c4]
mov byte [ebp - 0x3777c], dl
mov ecx, 0x59
xor eax, eax
lea edi, [ebp - 0x3777b]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov dword [ebp - 0x6794], 0
mov dword [ebp - 0x689c], 0
mov dword [ebp - 0x68a0], 0
mov dword [ebp - 0x6790], 0
mov al, byte [0xde14c8]
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 [0xde14cc]
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 [0xde14d0]
mov byte [ebp - 0x6898], dl
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x6897]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov al, byte [0xde14d4]
mov byte [ebp - 0x678c], al
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x678b]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov cl, byte [0xde14d8]
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 [0xde14dc]
mov byte [ebp - 0x68d0], dl
mov ecx, 9
xor eax, eax
lea edi, [ebp - 0x68cf]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
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 - 0x68a8], 0
mov dword [ebp - 0x68d4], 0
mov dword [ebp - 0x68a4], 0
mov dword [ebp - 0x494], 0
push 0x104
push 0xde08e8
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov dword [ebp - 0x6794], eax
push 0xde08e8
call fcn.004049d0
add esp, 4
mov dword [ebp - 0x6794], eax
jmp 0x401243
mov eax, dword [ebp - 0x6794]
sub eax, 1
mov dword [ebp - 0x6794], eax
cmp dword [ebp - 0x6794], 1
jle 0x401296
push 1
mov ecx, dword [ebp - 0x6794]
push ecx
push 0xde08e8
call fcn.004043ce
add esp, 0xc
push eax
call fcn.0040436a
add esp, 4
cmp eax, 0x5c
jne 0x401294
mov edx, dword [ebp - 0x6794]
push edx
push 0xde08e8
call fcn.004044fb
add esp, 8
push eax
push 0xde09ec
call fcn.00404880
add esp, 8
jmp 0x401296
jmp 0x401234
push str.aRCheliFUN
push 0xde105c
call fcn.00404880
add esp, 8
mov dword [ebp - 0x6794], 1
jmp 0x4012c3
mov eax, dword [ebp - 0x6794]
add eax, 1
mov dword [ebp - 0x6794], eax
cmp dword [ebp - 0x6794], 0xb
jge 0x4012fa
push 1
mov ecx, dword [ebp - 0x6794]
push ecx
push 0xde105c
call fcn.004043ce
add esp, 0xc
push eax
call fcn.0040436a
add esp, 4
mov edx, dword [ebp - 0x6794]
mov dword [edx*4 + 0x40cd74], eax
jmp 0x4012b4
push 1
call fcn.004047a6
add esp, 4
mov dword [ebp - 0x6794], eax
mov eax, dword [ebp - 0x6794]
push eax
push 0x40c03c
push 0xde0fe0
call fcn.00404970
add esp, 0xc
push 5
push 0xde0fe0
call fcn.00404551
add esp, 8
push eax
push 0xde1008
call fcn.00404880
add esp, 8
fild dword [ebp - 0x6794]
sub esp, 8
fstp qword [esp]
call fcn.00404387
add esp, 8
push eax
push 0xde0fe0
call fcn.00404880
add esp, 8
push 5
push 0xde0fe0
call fcn.00404551
add esp, 8
push eax
push 0xde1030
call fcn.00404880
add esp, 8
mov dword [ebp - 0x6794], 0
push 0xde14e0
push 0xddf80c
call fcn.00404880
add esp, 8
push 0xde14e4
lea ecx, [ebp - 0x208]
push ecx
call fcn.00404880
add esp, 8
push 0xddf80c
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
mov dword [ebp - 0x494], eax
mov edx, dword [ebp - 0x494]
push edx
push 0xddf80c
call fcn.004044fb
add esp, 8
push eax
push 0xddf80c
call fcn.00404880
add esp, 8
push 0x72
call fcn.0040430e
add esp, 4
push eax
push 0x65
call fcn.0040430e
add esp, 4
push eax
push 0x64
call fcn.0040430e
add esp, 4
push eax
push 0x6c
call fcn.0040430e
add esp, 4
push eax
push 0x6f
call fcn.0040430e
add esp, 4
push eax
push 0x66
call fcn.0040430e
add esp, 4
push eax
push 0x61
call fcn.0040430e
add esp, 4
push eax
push 0xddf80c
push str._s_s_s_s_s_s_s_s
push 0xddfa14
call fcn.00404970
add esp, 0x28
push 0
push 0xddfa14
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
mov dword [ebp - 0x6794], eax
push 0x70
call fcn.0040430e
add esp, 4
push eax
push 0x6d
call fcn.0040430e
add esp, 4
push eax
push 0x74
call fcn.0040430e
add esp, 4
push eax
push 0x7a
call fcn.0040430e
add esp, 4
push eax
push 0xddf80c
push 0x40c054
push 0xddf910
call fcn.00404970
add esp, 0x1c
push 0
push 0xddf910
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
mov dword [ebp - 0x6794], eax
mov dword [ebp - 0x6794], 0
push 0x40c060
push 4
call fcn.00403fb0
add esp, 4
push eax
push 0x40c068
push 0xddf910
push 0x40c06c
push 0xde0dd8
call fcn.00404970
add esp, 0x18
push 0x40c078
push 5
call fcn.00403fb0
add esp, 4
push eax
push 0x40c080
push 0xddf910
push 0x40c084
push 0xde0edc
call fcn.00404970
add esp, 0x18
push str..bat
push 1
call fcn.00403fb0
add esp, 4
push eax
push 0x40c098
push 0xddf910
push str._s_s_s_s
push 0xddfb28
call fcn.00404970
add esp, 0x18
push 0xddfb28
push 0xddff10
call fcn.00404880
add esp, 8
push 0xde14e8
lea eax, [ebp - 0x104]
push eax
call fcn.00404880
add esp, 8
push str..exe
push 2
call fcn.00403fb0
add esp, 4
push eax
push 0x40c0b0
lea ecx, [ebp - 0x104]
push ecx
call fcn.00404970
add esp, 0x10
lea edx, [ebp - 0x104]
push edx
push 0x40c0b8
push 0xddf910
push str._s_s_s
push 0xde0014
call fcn.00404970
add esp, 0x14
push 0x73
call fcn.0040430e
add esp, 4
push eax
lea eax, [ebp - 0x678c]
push eax
call fcn.00404880
add esp, 8
push 0x65
call fcn.0040430e
add esp, 4
push eax
lea ecx, [ebp - 0x678c]
push ecx
call fcn.00404890
add esp, 8
push 0x74
call fcn.0040430e
add esp, 4
push eax
lea edx, [ebp - 0x678c]
push edx
call fcn.00404890
add esp, 8
push 0x20
call fcn.0040430e
add esp, 4
push eax
lea eax, [ebp - 0x678c]
push eax
call fcn.00404890
add esp, 8
push 0x7a
call fcn.0040430e
add esp, 4
push eax
lea ecx, [ebp - 0x678c]
push ecx
call fcn.00404890
add esp, 8
push 0x74
call fcn.0040430e
add esp, 4
push eax
lea edx, [ebp - 0x678c]
push edx
call fcn.00404890
add esp, 8
push 0x6d
call fcn.0040430e
add esp, 4
push eax
lea eax, [ebp - 0x678c]
push eax
call fcn.00404890
add esp, 8
push 0x70
call fcn.0040430e
add esp, 4
push eax
lea ecx, [ebp - 0x678c]
push ecx
call fcn.00404890
add esp, 8
push 0x3d
call fcn.0040430e
add esp, 4
push eax
lea edx, [ebp - 0x678c]
push edx
call fcn.00404890
add esp, 8
push 0x73
call fcn.0040430e
add esp, 4
push eax
lea eax, [ebp - 0x314]
push eax
call fcn.00404880
add esp, 8
push 0x65
call fcn.0040430e
add esp, 4
push eax
lea ecx, [ebp - 0x314]
push ecx
call fcn.00404890
add esp, 8
push 0x74
call fcn.0040430e
add esp, 4
push eax
lea edx, [ebp - 0x314]
push edx
call fcn.00404890
add esp, 8
push 0x20
call fcn.0040430e
add esp, 4
push eax
lea eax, [ebp - 0x314]
push eax
call fcn.00404890
add esp, 8
push 0x4d
call fcn.0040430e
add esp, 4
push eax
lea ecx, [ebp - 0x314]
push ecx
call fcn.00404890
add esp, 8
push 0x59
call fcn.0040430e
add esp, 4
push eax
lea edx, [ebp - 0x314]
push edx
call fcn.00404890
add esp, 8
push 0x46
call fcn.0040430e
add esp, 4
push eax
lea eax, [ebp - 0x314]
push eax
call fcn.00404890
add esp, 8
push 0x49
call fcn.0040430e
add esp, 4
push eax
lea ecx, [ebp - 0x314]
push ecx
call fcn.00404890
add esp, 8
push 0x4c
call fcn.0040430e
add esp, 4
push eax
lea edx, [ebp - 0x314]
push edx
call fcn.00404890
add esp, 8
push 0x45
call fcn.0040430e
add esp, 4
push eax
lea eax, [ebp - 0x314]
push eax
call fcn.00404890
add esp, 8
push 0x53
call fcn.0040430e
add esp, 4
push eax
lea ecx, [ebp - 0x314]
push ecx
call fcn.00404890
add esp, 8
push 0x3d
call fcn.0040430e
add esp, 4
push eax
lea edx, [ebp - 0x314]
push edx
call fcn.00404890
add esp, 8
push 0xddf910
lea eax, [ebp - 0x678c]
push eax
push 0x40c0c4
lea ecx, [ebp - 0x208]
push ecx
call fcn.00404970
add esp, 0x10
push 0xddfa14
lea edx, [ebp - 0x314]
push edx
push 0x40c0cc
lea eax, [ebp - 0x6898]
push eax
call fcn.00404970
add esp, 0x10
push 0x73
call fcn.0040430e
add esp, 4
push eax
lea ecx, [ebp - 0x678c]
push ecx
call fcn.00404880
add esp, 8
push 0x65
call fcn.0040430e
add esp, 4
push eax
lea edx, [ebp - 0x678c]
push edx
call fcn.00404890
add esp, 8
push 0x74
call fcn.0040430e
add esp, 4
push eax
lea eax, [ebp - 0x678c]
push eax
call fcn.00404890
add esp, 8
push 0x20
call fcn.0040430e
add esp, 4
push eax
lea ecx, [ebp - 0x678c]
push ecx
call fcn.00404890
add esp, 8
push 0x62
call fcn.0040430e
add esp, 4
push eax
lea edx, [ebp - 0x678c]
push edx
call fcn.00404890
add esp, 8
push 0x66
call fcn.0040430e
add esp, 4
push eax
lea eax, [ebp - 0x678c]
push eax
call fcn.00404890
add esp, 8
push 0x63
call fcn.0040430e
add esp, 4
push eax
lea ecx, [ebp - 0x678c]
push ecx
call fcn.00404890
add esp, 8
push 0x65
call fcn.0040430e
add esp, 4
push eax
lea edx, [ebp - 0x678c]
push edx
call fcn.00404890
add esp, 8
push 0x63
call fcn.0040430e
add esp, 4
push eax
lea eax, [ebp - 0x678c]
push eax
call fcn.00404890
add esp, 8
push 0x3d
call fcn.0040430e
add esp, 4
push eax
lea ecx, [ebp - 0x678c]
push ecx
call fcn.00404890
add esp, 8
push 0x61
call fcn.0040430e
add esp, 4
push eax
lea edx, [ebp - 0x68d0]
push edx
call fcn.00404880
add esp, 8
push 0x74
call fcn.0040430e
add esp, 4
push eax
lea eax, [ebp - 0x68d0]
push eax
call fcn.00404890
add esp, 8
push 0x74
call fcn.0040430e
add esp, 4
push eax
lea ecx, [ebp - 0x68d0]
push ecx
call fcn.00404890
add esp, 8
push 0x72
call fcn.0040430e
add esp, 4
push eax
lea edx, [ebp - 0x68d0]
push edx
call fcn.00404890
add esp, 8
push 0x69
call fcn.0040430e
add esp, 4
push eax
lea eax, [ebp - 0x68d0]
push eax
call fcn.00404890
add esp, 8
push 0x62
call fcn.0040430e
add esp, 4
push eax
lea ecx, [ebp - 0x68d0]
push ecx
call fcn.00404890
add esp, 8
push 0x20
call fcn.0040430e
add esp, 4
push eax
lea edx, [ebp - 0x68d0]
push edx
call fcn.00404890
add esp, 8
push 0x2b
call fcn.0040430e
add esp, 4
push eax
lea eax, [ebp - 0x68d0]
push eax
call fcn.00404890
add esp, 8
push 0x68
call fcn.0040430e
add esp, 4
push eax
lea ecx, [ebp - 0x68d0]
push ecx
call fcn.00404890
add esp, 8
push 0x20
call fcn.0040430e
add esp, 4
push eax
lea edx, [ebp - 0x68d0]
push edx
call fcn.00404890
add esp, 8
push 0xddf910
lea eax, [ebp - 0x68d0]
push eax
push 0x40c0d4
lea ecx, [ebp - 0x3777c]
push ecx
call fcn.00404970
add esp, 0x10
push 0xde14ec
push 0xde0118
call fcn.00404880
add esp, 8
push 0xa
call fcn.0040430e
add esp, 4
push eax
push 0xd
call fcn.0040430e
add esp, 4
push eax
lea edx, [ebp - 0x3777c]
push edx
push 0xa
call fcn.0040430e
add esp, 4
push eax
push 0xd
call fcn.0040430e
add esp, 4
push eax
lea eax, [ebp - 0x104]
push eax
lea ecx, [ebp - 0x678c]
push ecx
push 0xa
call fcn.0040430e
add esp, 4
push eax
push 0xd
call fcn.0040430e
add esp, 4
push eax
lea edx, [ebp - 0x6898]
push edx
push 0xa
call fcn.0040430e
add esp, 4
push eax
push 0xd
call fcn.0040430e
add esp, 4
push eax
lea eax, [ebp - 0x208]
push eax
push 0xa
call fcn.0040430e
add esp, 4
push eax
push 0xd
call fcn.0040430e
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
push 0xde0118
call fcn.00404970
add esp, 0x48
push 0xddfb28
push 0x20
call fcn.0040430e
add esp, 4
push eax
push 0x6c
call fcn.0040430e
add esp, 4
push eax
push 0x65
call fcn.0040430e
add esp, 4
push eax
push 0x64
call fcn.0040430e
add esp, 4
push eax
push str._s_s_s_s_s
lea ecx, [ebp - 0x490]
push ecx
call fcn.00404970
add esp, 0x1c
call fcn.00401c72
mov dword [ebp - 0x4d0], 0x3c
mov dword [ebp - 0x4c0], 0xddfb28
mov dword [ebp - 0x4cc], 0x40
mov dword [ebp - 0x4c8], 0
mov dword [ebp - 0x4c4], str.open
mov edx, dword [ebp + 8]
mov dword [ebp - 0x4bc], edx
mov dword [ebp - 0x4b8], 0
mov dword [ebp - 0x4b4], 0
mov dword [ebp - 0x4b0], 0x1d
lea eax, [ebp - 0x4d0]
push eax
call dword [sym.imp.SHELL32.dll_ShellExecuteExA]
cmp dword [ebp - 0x498], 0
je 0x401bd0
push 1
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x498]
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov edx, dword [ebp - 0x498]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [0xddfb20], 1
jne 0x401c22
mov dword [ebp - 0x6794], 0
jmp 0x401bf4
mov eax, dword [ebp - 0x6794]
add eax, 1
mov dword [ebp - 0x6794], eax
mov ecx, dword [0xddfb24]
sub ecx, 2
cmp dword [ebp - 0x6794], ecx
jge 0x401c22
mov edx, dword [ebp - 0x6794]
imul edx, edx, 0x3e8
add edx, 0x40cda4
push edx
call fcn.00404856
add esp, 4
jmp 0x401be5
mov eax, dword [0xddfb24]
sub eax, 2
mov dword [ebp - 0x6794], eax
jmp 0x401c41
mov ecx, dword [ebp - 0x6794]
add ecx, 1
mov dword [ebp - 0x6794], ecx
mov edx, dword [ebp - 0x6794]
cmp edx, dword [0xddfb24]
jge 0x401c6b
mov eax, dword [ebp - 0x6794]
imul eax, eax, 0x3e8
add eax, 0x40cda4
push eax
call fcn.00404856
add esp, 4
jmp 0x401c32
xor eax, eax
pop edi
mov esp, ebp
pop ebp
ret