Function at 0x401000
Capabilities:
Get common file path
Terminate process

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x68144
call fcn.004029e0
push esi
push edi
mov al, byte [0x54f498]
mov byte [ebp - 0x6428], al
mov ecx, 0x1869
xor eax, eax
lea edi, [ebp - 0x6427]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov dword [ebp - 0x6440], 0
mov dword [ebp - 0x6444], 0
mov dword [ebp - 0x643c], 0
mov dword [ebp - 0x114], 0
mov dword [ebp - 0x110], 0
mov dword [ebp - 0x108], 0
mov dword [ebp - 0x10c], 0
push 0x54f49c
push 0x505fb0
call fcn.00402650
add esp, 8
push 0x40b030
push 1
call fcn.00401d2c
add esp, 4
push eax
call fcn.004029c8
add esp, 8
mov dword [ebp - 0x6448], eax
cmp dword [ebp - 0x6448], 0
jne 0x4010c4
push 0x40b034
push 0x40b04c
call fcn.00402977
add esp, 8
push 1
call fcn.004028a2
push 2
push 0xfffffffffffffff4
mov ecx, dword [ebp - 0x6448]
push ecx
call fcn.004027e9
add esp, 0xc
mov edx, dword [ebp - 0x6448]
push edx
push 0xc
lea eax, [ebp - 0x6438]
push eax
call fcn.00402792
add esp, 0xc
lea ecx, [ebp - 0x6438]
push ecx
call fcn.004019ff
add esp, 4
mov dword [ebp - 0x6444], eax
push 2
mov edx, dword [ebp - 0x6444]
add edx, 0xc
imul edx, edx, 0xffffffff
push edx
mov eax, dword [ebp - 0x6448]
push eax
call fcn.004027e9
add esp, 0xc
mov ecx, dword [ebp - 0x6448]
push ecx
mov edx, dword [ebp - 0x6444]
add edx, 1
push edx
lea eax, [ebp - 0x67ed0]
push eax
call fcn.00402792
add esp, 0xc
push 0x505fb0
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
mov dword [ebp - 0x280], eax
mov ecx, dword [ebp - 0x280]
push ecx
push 0x505fb0
call fcn.00401fe0
add esp, 8
push eax
push 0x505fb0
call fcn.00402650
add esp, 8
push 0x70
call fcn.00401d48
add esp, 4
push eax
push 0x6d
call fcn.00401d48
add esp, 4
push eax
push 0x74
call fcn.00401d48
add esp, 4
push eax
push 0x64
call fcn.00401d48
add esp, 4
push eax
push 0x62
call fcn.00401d48
add esp, 4
push eax
push 0x505fb0
push str._s_s_s_s_s_s
push 0x505fb0
call fcn.00402740
add esp, 0x20
push 0x505fb0
call fcn.004020c7
add esp, 4
cmp eax, 1
jne 0x401211
push str.mkdir
lea edx, [ebp - 0x68038]
push edx
call fcn.00402650
add esp, 8
push 0x505fb0
lea eax, [ebp - 0x68038]
push eax
call fcn.00402660
add esp, 8
lea ecx, [ebp - 0x68038]
push ecx
call fcn.004025b5
add esp, 4
push 0x505fb0
push str.attrib_h
push str._s_s
lea edx, [ebp - 0x68038]
push edx
call fcn.00402740
add esp, 0x10
lea eax, [ebp - 0x68038]
push eax
call fcn.004025b5
add esp, 4
push str..bat
push 1
call fcn.00401997
add esp, 4
push eax
push 0x40b084
push 0x505fb0
push 0x40b088
lea ecx, [ebp - 0x6813c]
push ecx
call fcn.00402740
add esp, 0x18
push str..exe
push 2
call fcn.00401997
add esp, 4
push eax
push 0x40b09c
push 0x505fb0
push str._s_s_s_s
lea edx, [ebp - 0x104]
push edx
call fcn.00402740
add esp, 0x18
push 0x40b0ac
lea eax, [ebp - 0x6813c]
push eax
call fcn.004029c8
add esp, 8
mov dword [ebp - 0x644c], eax
cmp dword [ebp - 0x644c], 0
jne 0x4012e3
push str.Error_bd60____Quiting
push 0x40b0c8
call fcn.00402977
add esp, 8
push 0x40b0cc
call fcn.004025b5
add esp, 4
push 1
call fcn.004028a2
lea ecx, [ebp - 0x67ed0]
push ecx
call fcn.00401851
add esp, 4
push eax
lea edx, [ebp - 0x67ed0]
push edx
call fcn.00402650
add esp, 8
push 0x54f4a0
lea eax, [ebp - 0x67ed0]
push eax
call fcn.00402660
add esp, 8
lea ecx, [ebp - 0x67ed0]
push ecx
push 0xa
call fcn.00401d48
add esp, 4
push eax
push 0xd
call fcn.00401d48
add esp, 4
push eax
lea edx, [ebp - 0x104]
push edx
push str.set_bfc
push 0xa
call fcn.00401d48
add esp, 4
push eax
push 0xd
call fcn.00401d48
add esp, 4
push eax
push str._echo_off
push str._s_s_s_s_s_s_s_s
lea eax, [ebp - 0x37190]
push eax
call fcn.00402740
add esp, 0x28
mov ecx, dword [ebp - 0x644c]
push ecx
lea edx, [ebp - 0x37190]
push edx
call fcn.00402572
add esp, 8
mov eax, dword [ebp - 0x644c]
push eax
call fcn.0040251c
add esp, 4
mov ecx, dword [ebp - 0x6448]
push ecx
call fcn.0040251c
add esp, 4
push 0x40b100
push 1
call fcn.00401d2c
add esp, 4
push eax
call fcn.004029c8
add esp, 8
mov dword [ebp - 0x6448], eax
cmp dword [ebp - 0x6448], 0
jne 0x4013e2
push str.Error_bd70____Quiting
push 0x40b11c
call fcn.00402977
add esp, 8
push 1
call fcn.004028a2
push 2
mov edx, dword [ebp - 0x6444]
add edx, 0x18
imul edx, edx, 0xffffffff
push edx
mov eax, dword [ebp - 0x6448]
push eax
call fcn.004027e9
add esp, 0xc
mov ecx, dword [ebp - 0x6448]
push ecx
push 0xc
lea edx, [ebp - 0x6438]
push edx
call fcn.00402792
add esp, 0xc
lea eax, [ebp - 0x6438]
push eax
call fcn.004019ff
add esp, 4
mov dword [ebp - 0x643c], eax
mov ecx, dword [ebp - 0x643c]
mov edx, dword [ebp - 0x6444]
lea eax, [edx + ecx + 0x18]
imul eax, eax, 0xffffffff
mov dword [ebp - 0x110], eax
push 2
mov ecx, dword [ebp - 0x110]
push ecx
mov edx, dword [ebp - 0x6448]
push edx
call fcn.004027e9
add esp, 0xc
push 0x40b120
lea eax, [ebp - 0x104]
push eax
call fcn.004029c8
add esp, 8
mov dword [ebp - 0x6450], eax
cmp dword [ebp - 0x6450], 0
jne 0x4014a7
push str.Error_bd65____Quiting
push 0x40b13c
call fcn.00402977
add esp, 8
push str.pause
call fcn.004025b5
add esp, 4
push 1
call fcn.004028a2
push 2
mov ecx, dword [ebp - 0x110]
push ecx
mov edx, dword [ebp - 0x6448]
push edx
call fcn.004027e9
add esp, 0xc
mov eax, dword [ebp - 0x6448]
push eax
call fcn.004023c4
add esp, 4
mov dword [ebp - 0x110], eax
push 0
mov ecx, dword [ebp - 0x110]
add ecx, dword [ebp - 0x10c]
add ecx, dword [ebp - 0x114]
push ecx
mov edx, dword [ebp - 0x6448]
push edx
call fcn.004027e9
add esp, 0xc
mov eax, dword [ebp - 0x6448]
push eax
mov ecx, dword [ebp - 0x643c]
add ecx, 1
sub ecx, dword [ebp - 0x10c]
push ecx
lea edx, [ebp - 0x6428]
push edx
call fcn.00402792
add esp, 0xc
push 0x54f4a4
lea eax, [ebp - 0x6428]
push eax
call fcn.00402340
add esp, 8
test eax, eax
je 0x4015e8
cmp dword [ebp - 0x114], 0
jne 0x401582
lea ecx, [ebp - 0x6428]
push ecx
call fcn.004022c0
add esp, 4
mov dword [ebp - 0x108], eax
mov edx, dword [ebp - 0x10c]
add edx, dword [ebp - 0x108]
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp - 0x6450]
push eax
lea ecx, [ebp - 0x6428]
push ecx
call fcn.00402572
add esp, 8
jmp 0x4015e3
push 0
mov edx, dword [ebp - 0x10c]
add edx, dword [ebp - 0x114]
push edx
mov eax, dword [ebp - 0x6450]
push eax
call fcn.004027e9
add esp, 0xc
mov ecx, dword [ebp - 0x6450]
push ecx
lea edx, [ebp - 0x6428]
push edx
call fcn.00402572
add esp, 8
mov esi, dword [ebp - 0x10c]
add esi, dword [ebp - 0x114]
lea eax, [ebp - 0x6428]
push eax
call fcn.004022c0
add esp, 4
add esi, eax
mov dword [ebp - 0x10c], esi
mov dword [ebp - 0x114], 0
jmp 0x40167a
push 0
mov ecx, dword [ebp - 0x10c]
add ecx, dword [ebp - 0x114]
push ecx
mov edx, dword [ebp - 0x6450]
push edx
call fcn.004027e9
add esp, 0xc
mov eax, dword [ebp - 0x6450]
mov ecx, dword [eax + 4]
sub ecx, 1
mov edx, dword [ebp - 0x6450]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x6450]
cmp dword [eax + 4], 0
jl 0x401654
mov ecx, dword [ebp - 0x6450]
mov edx, dword [ecx]
mov byte [edx], 0
xor eax, eax
and eax, 0xff
mov dword [ebp - 0x68140], eax
mov ecx, dword [ebp - 0x6450]
mov edx, dword [ecx]
add edx, 1
mov eax, dword [ebp - 0x6450]
mov dword [eax], edx
jmp 0x40166b
mov ecx, dword [ebp - 0x6450]
push ecx
push 0
call fcn.0040219d
add esp, 8
mov dword [ebp - 0x68140], eax
mov edx, dword [ebp - 0x114]
add edx, 1
mov dword [ebp - 0x114], edx
mov eax, dword [ebp - 0x10c]
sub eax, 1
cmp eax, dword [ebp - 0x643c]
jl 0x40168d
jmp 0x401692
jmp 0x4014d4
push 0
mov ecx, dword [ebp - 0x643c]
push ecx
mov edx, dword [ebp - 0x6450]
push edx
call fcn.004027e9
add esp, 0xc
mov eax, dword [ebp - 0x6450]
mov ecx, dword [eax + 4]
sub ecx, 1
mov edx, dword [ebp - 0x6450]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x6450]
cmp dword [eax + 4], 0
jl 0x4016f8
mov ecx, dword [ebp - 0x6450]
mov edx, dword [ecx]
mov byte [edx], 0
xor eax, eax
and eax, 0xff
mov dword [ebp - 0x68144], eax
mov ecx, dword [ebp - 0x6450]
mov edx, dword [ecx]
add edx, 1
mov eax, dword [ebp - 0x6450]
mov dword [eax], edx
jmp 0x40170f
mov ecx, dword [ebp - 0x6450]
push ecx
push 0
call fcn.0040219d
add esp, 8
mov dword [ebp - 0x68144], eax
mov edx, dword [ebp - 0x6450]
push edx
call fcn.0040251c
add esp, 4
mov eax, dword [ebp - 0x6448]
push eax
call fcn.0040251c
add esp, 4
lea ecx, [ebp - 0x6813c]
push ecx
push 0x20
call fcn.00401d48
add esp, 4
push eax
push 0x6c
call fcn.00401d48
add esp, 4
push eax
push 0x65
call fcn.00401d48
add esp, 4
push eax
push 0x64
call fcn.00401d48
add esp, 4
push eax
push 0x40b148
lea edx, [ebp - 0x27c]
push edx
call fcn.00402740
add esp, 0x1c
cmp dword [ebp + 8], 1
jle 0x4017d5
mov dword [ebp - 0x6440], 1
jmp 0x401795
mov eax, dword [ebp - 0x6440]
add eax, 1
mov dword [ebp - 0x6440], eax
mov ecx, dword [ebp + 8]
sub ecx, 1
cmp dword [ebp - 0x6440], ecx
jg 0x4017d5
push 0x40b154
lea edx, [ebp - 0x6813c]
push edx
call fcn.00402660
add esp, 8
mov eax, dword [ebp - 0x6440]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + eax*4]
push edx
lea eax, [ebp - 0x6813c]
push eax
call fcn.00402660
add esp, 8
jmp 0x401786
lea ecx, [ebp - 0x6813c]
push ecx
call fcn.004025b5
add esp, 4
lea edx, [ebp - 0x27c]
push edx
call fcn.004025b5
add esp, 4
lea eax, [ebp - 0x104]
push eax
push 0x20
call fcn.00401d48
add esp, 4
push eax
push 0x6c
call fcn.00401d48
add esp, 4
push eax
push 0x65
call fcn.00401d48
add esp, 4
push eax
push 0x64
call fcn.00401d48
add esp, 4
push eax
push 0x40b158
lea ecx, [ebp - 0x27c]
push ecx
call fcn.00402740
add esp, 0x1c
lea edx, [ebp - 0x27c]
push edx
call fcn.004025b5
add esp, 4
xor eax, eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret