Function at 0x401000
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x37718
call fcn.004079e0
push edi
mov al, byte [0x412458]
mov byte [ebp - 0x664c], al
xor ecx, ecx
mov dword [ebp - 0x664b], ecx
mov dword [ebp - 0x6647], ecx
mov dword [ebp - 0x6643], ecx
mov byte [ebp - 0x663f], cl
mov dl, byte [0x41245c]
mov byte [ebp - 0x375b0], dl
mov ecx, 0xc34f
xor eax, eax
lea edi, [ebp - 0x375af]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov al, byte [0x412460]
mov byte [ebp - 0x663c], al
mov ecx, 0x1869
xor eax, eax
lea edi, [ebp - 0x663b]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov cl, byte [0x412464]
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 [0x412468]
mov byte [ebp - 0x37718], dl
mov ecx, 0x59
xor eax, eax
lea edi, [ebp - 0x37717]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov dword [ebp - 0x6758], 0
mov dword [ebp - 0x6860], 0
mov dword [ebp - 0x6864], 0
mov dword [ebp - 0x6754], 0
mov al, byte [0x41246c]
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 [0x412470]
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 [0x412474]
mov byte [ebp - 0x685c], dl
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x685b]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov al, byte [0x412478]
mov byte [ebp - 0x6750], al
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x674f]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov cl, byte [0x41247c]
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 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 - 0x686c], 0
mov dword [ebp - 0x6870], 0
mov dword [ebp - 0x6868], 0
mov dword [ebp - 0x494], 0
push 0xfffffffffffffff5
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
mov dword [0xde51c0], eax
push 0x410030
push 0x411f88
call fcn.00407840
add esp, 8
mov dword [ebp - 0x6758], 1
jmp 0x40120e
mov edx, dword [ebp - 0x6758]
add edx, 1
mov dword [ebp - 0x6758], edx
cmp dword [ebp - 0x6758], 0xb
jge 0x401245
push 1
mov eax, dword [ebp - 0x6758]
push eax
push 0x411f88
call fcn.0040315a
add esp, 0xc
push eax
call fcn.004030f6
add esp, 4
mov ecx, dword [ebp - 0x6758]
mov dword [ecx*4 + 0x412720], eax
jmp 0x4011ff
push 1
call fcn.0040766f
add esp, 4
mov dword [ebp - 0x6758], eax
mov edx, dword [ebp - 0x6758]
push edx
push 0x41003c
push 0x411f94
call fcn.00407930
add esp, 0xc
push 5
push 0x411f94
call fcn.004032dd
add esp, 8
push eax
push 0x411fbc
call fcn.00407840
add esp, 8
fild dword [ebp - 0x6758]
sub esp, 8
fstp qword [esp]
call fcn.00403113
add esp, 8
push eax
push 0x411f94
call fcn.00407840
add esp, 8
push 5
push 0x411f94
call fcn.004032dd
add esp, 8
push eax
push 0x411fe4
call fcn.00407840
add esp, 8
mov dword [ebp - 0x6758], 0
push 0x412480
push 0x410ea8
call fcn.00407840
add esp, 8
push 0x412484
lea eax, [ebp - 0x208]
push eax
call fcn.00407840
add esp, 8
push 0x410ea8
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
mov dword [ebp - 0x494], eax
mov ecx, dword [ebp - 0x494]
push ecx
push 0x410ea8
call fcn.00403287
add esp, 8
push eax
push 0x410ea8
call fcn.00407840
add esp, 8
push 0x72
call fcn.0040309a
add esp, 4
push eax
push 0x65
call fcn.0040309a
add esp, 4
push eax
push 0x64
call fcn.0040309a
add esp, 4
push eax
push 0x6c
call fcn.0040309a
add esp, 4
push eax
push 0x6f
call fcn.0040309a
add esp, 4
push eax
push 0x66
call fcn.0040309a
add esp, 4
push eax
push 0x61
call fcn.0040309a
add esp, 4
push eax
push 0x410ea8
push 0x410040
push 0x4110b0
call fcn.00407930
add esp, 0x28
push 0x410054
lea edx, [ebp - 0x37718]
push edx
call fcn.00407840
add esp, 8
push 0x22
call fcn.0040309a
add esp, 4
push eax
lea eax, [ebp - 0x37718]
push eax
call fcn.00407850
add esp, 8
push 0x4110b0
lea ecx, [ebp - 0x37718]
push ecx
call fcn.00407850
add esp, 8
push 0x22
call fcn.0040309a
add esp, 4
push eax
lea edx, [ebp - 0x37718]
push edx
call fcn.00407850
add esp, 8
push 0x410064
lea eax, [ebp - 0x37718]
push eax
call fcn.00407850
add esp, 8
push 0x22
call fcn.0040309a
add esp, 4
push eax
lea ecx, [ebp - 0x37718]
push ecx
call fcn.00407850
add esp, 8
push 0x4110b0
lea edx, [ebp - 0x37718]
push edx
call fcn.00407850
add esp, 8
push 0x22
call fcn.0040309a
add esp, 4
push eax
lea eax, [ebp - 0x37718]
push eax
call fcn.00407850
add esp, 8
lea ecx, [ebp - 0x37718]
push ecx
call fcn.0040779b
add esp, 4
push 0x70
call fcn.0040309a
add esp, 4
push eax
push 0x6d
call fcn.0040309a
add esp, 4
push eax
push 0x74
call fcn.0040309a
add esp, 4
push eax
push 0x7a
call fcn.0040309a
add esp, 4
push eax
push 0x410ea8
push 0x41006c
push 0x410fac
call fcn.00407930
add esp, 0x1c
push str.if_not_exist
lea edx, [ebp - 0x37718]
push edx
call fcn.00407840
add esp, 8
push 0x22
call fcn.0040309a
add esp, 4
push eax
lea eax, [ebp - 0x37718]
push eax
call fcn.00407850
add esp, 8
push 0x410fac
lea ecx, [ebp - 0x37718]
push ecx
call fcn.00407850
add esp, 8
push 0x22
call fcn.0040309a
add esp, 4
push eax
lea edx, [ebp - 0x37718]
push edx
call fcn.00407850
add esp, 8
push str._mkdir
lea eax, [ebp - 0x37718]
push eax
call fcn.00407850
add esp, 8
push 0x22
call fcn.0040309a
add esp, 4
push eax
lea ecx, [ebp - 0x37718]
push ecx
call fcn.00407850
add esp, 8
push 0x410fac
lea edx, [ebp - 0x37718]
push edx
call fcn.00407850
add esp, 8
push 0x22
call fcn.0040309a
add esp, 4
push eax
lea eax, [ebp - 0x37718]
push eax
call fcn.00407850
add esp, 8
lea ecx, [ebp - 0x37718]
push ecx
call fcn.0040779b
add esp, 4
push 0x410fac
push str.attrib_h
push 0x41009c
lea edx, [ebp - 0x37718]
push edx
call fcn.00407930
add esp, 0x10
lea eax, [ebp - 0x37718]
push eax
call fcn.0040779b
add esp, 4
push str..bat
push 1
call fcn.00402d3c
add esp, 4
push eax
push 0x4100ac
push 0x410fac
push str._s_s_s_s
push 0x4111c4
call fcn.00407930
add esp, 0x18
push 0x4111c4
push 0x4115ac
call fcn.00407840
add esp, 8
push 0x412488
lea ecx, [ebp - 0x104]
push ecx
call fcn.00407840
add esp, 8
push str..exe
push 2
call fcn.00402d3c
add esp, 4
push eax
push 0x4100c4
lea edx, [ebp - 0x104]
push edx
call fcn.00407930
add esp, 0x10
lea eax, [ebp - 0x104]
push eax
push 0x4100cc
push 0x410fac
push str._s_s_s
push 0x4116b0
call fcn.00407930
add esp, 0x14
push 0x73
call fcn.0040309a
add esp, 4
push eax
lea ecx, [ebp - 0x6750]
push ecx
call fcn.00407840
add esp, 8
push 0x65
call fcn.0040309a
add esp, 4
push eax
lea edx, [ebp - 0x6750]
push edx
call fcn.00407850
add esp, 8
push 0x74
call fcn.0040309a
add esp, 4
push eax
lea eax, [ebp - 0x6750]
push eax
call fcn.00407850
add esp, 8
push 0x20
call fcn.0040309a
add esp, 4
push eax
lea ecx, [ebp - 0x6750]
push ecx
call fcn.00407850
add esp, 8
push 0x7a
call fcn.0040309a
add esp, 4
push eax
lea edx, [ebp - 0x6750]
push edx
call fcn.00407850
add esp, 8
push 0x74
call fcn.0040309a
add esp, 4
push eax
lea eax, [ebp - 0x6750]
push eax
call fcn.00407850
add esp, 8
push 0x6d
call fcn.0040309a
add esp, 4
push eax
lea ecx, [ebp - 0x6750]
push ecx
call fcn.00407850
add esp, 8
push 0x70
call fcn.0040309a
add esp, 4
push eax
lea edx, [ebp - 0x6750]
push edx
call fcn.00407850
add esp, 8
push 0x3d
call fcn.0040309a
add esp, 4
push eax
lea eax, [ebp - 0x6750]
push eax
call fcn.00407850
add esp, 8
push 0x73
call fcn.0040309a
add esp, 4
push eax
lea ecx, [ebp - 0x314]
push ecx
call fcn.00407840
add esp, 8
push 0x65
call fcn.0040309a
add esp, 4
push eax
lea edx, [ebp - 0x314]
push edx
call fcn.00407850
add esp, 8
push 0x74
call fcn.0040309a
add esp, 4
push eax
lea eax, [ebp - 0x314]
push eax
call fcn.00407850
add esp, 8
push 0x20
call fcn.0040309a
add esp, 4
push eax
lea ecx, [ebp - 0x314]
push ecx
call fcn.00407850
add esp, 8
push 0x4d
call fcn.0040309a
add esp, 4
push eax
lea edx, [ebp - 0x314]
push edx
call fcn.00407850
add esp, 8
push 0x59
call fcn.0040309a
add esp, 4
push eax
lea eax, [ebp - 0x314]
push eax
call fcn.00407850
add esp, 8
push 0x46
call fcn.0040309a
add esp, 4
push eax
lea ecx, [ebp - 0x314]
push ecx
call fcn.00407850
add esp, 8
push 0x49
call fcn.0040309a
add esp, 4
push eax
lea edx, [ebp - 0x314]
push edx
call fcn.00407850
add esp, 8
push 0x4c
call fcn.0040309a
add esp, 4
push eax
lea eax, [ebp - 0x314]
push eax
call fcn.00407850
add esp, 8
push 0x45
call fcn.0040309a
add esp, 4
push eax
lea ecx, [ebp - 0x314]
push ecx
call fcn.00407850
add esp, 8
push 0x53
call fcn.0040309a
add esp, 4
push eax
lea edx, [ebp - 0x314]
push edx
call fcn.00407850
add esp, 8
push 0x3d
call fcn.0040309a
add esp, 4
push eax
lea eax, [ebp - 0x314]
push eax
call fcn.00407850
add esp, 8
push 0x410fac
lea ecx, [ebp - 0x6750]
push ecx
push 0x4100d8
lea edx, [ebp - 0x208]
push edx
call fcn.00407930
add esp, 0x10
push 0x4110b0
lea eax, [ebp - 0x314]
push eax
push str._s_s
lea ecx, [ebp - 0x685c]
push ecx
call fcn.00407930
add esp, 0x10
push 0x73
call fcn.0040309a
add esp, 4
push eax
lea edx, [ebp - 0x6750]
push edx
call fcn.00407840
add esp, 8
push 0x65
call fcn.0040309a
add esp, 4
push eax
lea eax, [ebp - 0x6750]
push eax
call fcn.00407850
add esp, 8
push 0x74
call fcn.0040309a
add esp, 4
push eax
lea ecx, [ebp - 0x6750]
push ecx
call fcn.00407850
add esp, 8
push 0x20
call fcn.0040309a
add esp, 4
push eax
lea edx, [ebp - 0x6750]
push edx
call fcn.00407850
add esp, 8
push 0x62
call fcn.0040309a
add esp, 4
push eax
lea eax, [ebp - 0x6750]
push eax
call fcn.00407850
add esp, 8
push 0x66
call fcn.0040309a
add esp, 4
push eax
lea ecx, [ebp - 0x6750]
push ecx
call fcn.00407850
add esp, 8
push 0x63
call fcn.0040309a
add esp, 4
push eax
lea edx, [ebp - 0x6750]
push edx
call fcn.00407850
add esp, 8
push 0x65
call fcn.0040309a
add esp, 4
push eax
lea eax, [ebp - 0x6750]
push eax
call fcn.00407850
add esp, 8
push 0x63
call fcn.0040309a
add esp, 4
push eax
lea ecx, [ebp - 0x6750]
push ecx
call fcn.00407850
add esp, 8
push 0x3d
call fcn.0040309a
add esp, 4
push eax
lea edx, [ebp - 0x6750]
push edx
call fcn.00407850
add esp, 8
push 0x41248c
push 0x4117b4
call fcn.00407840
add esp, 8
push 0xa
call fcn.0040309a
add esp, 4
push eax
push 0xd
call fcn.0040309a
add esp, 4
push eax
lea eax, [ebp - 0x104]
push eax
lea ecx, [ebp - 0x6750]
push ecx
push 0xa
call fcn.0040309a
add esp, 4
push eax
push 0xd
call fcn.0040309a
add esp, 4
push eax
lea edx, [ebp - 0x685c]
push edx
push 0xa
call fcn.0040309a
add esp, 4
push eax
push 0xd
call fcn.0040309a
add esp, 4
push eax
lea eax, [ebp - 0x208]
push eax
push 0xa
call fcn.0040309a
add esp, 4
push eax
push 0xd
call fcn.0040309a
add esp, 4
push eax
push str._echo_off
push str._s_s_s_s_s_s_s_s_s_s_s_s_s
push 0x4117b4
call fcn.00407930
add esp, 0x3c
push 0x4111c4
push 0x20
call fcn.0040309a
add esp, 4
push eax
push 0x6c
call fcn.0040309a
add esp, 4
push eax
push 0x65
call fcn.0040309a
add esp, 4
push eax
push 0x64
call fcn.0040309a
add esp, 4
push eax
push str._s_s_s_s_s
lea ecx, [ebp - 0x490]
push ecx
call fcn.00407930
add esp, 0x1c
cmp dword [ebp + 8], 1
jle 0x401bcb
mov dword [ebp - 0x6758], 1
jmp 0x401a9a
mov edx, dword [ebp - 0x6758]
add edx, 1
mov dword [ebp - 0x6758], edx
mov eax, dword [ebp + 8]
sub eax, 1
cmp dword [ebp - 0x6758], eax
jg 0x401bcb
mov dword [ebp - 0x6870], 0
mov dword [ebp - 0x6860], 1
jmp 0x401ad1
mov ecx, dword [ebp - 0x6860]
add ecx, 1
mov dword [ebp - 0x6860], ecx
mov edx, dword [ebp - 0x6758]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
push ecx
call fcn.00407720
add esp, 4
add eax, 1
cmp dword [ebp - 0x6860], eax
jae 0x401b33
push 1
mov edx, dword [ebp - 0x6860]
push edx
mov eax, dword [ebp - 0x6758]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + eax*4]
push edx
call fcn.0040315a
add esp, 0xc
push eax
call fcn.004030f6
add esp, 4
mov dword [ebp - 0x686c], eax
cmp dword [ebp - 0x686c], 0x20
jne 0x401b31
mov dword [ebp - 0x6870], 1
jmp 0x401ac2
cmp dword [ebp - 0x6870], 1
jne 0x401b9a
push 0x41011c
push 0x4111c4
call fcn.00407850
add esp, 8
push 0x22
call fcn.0040309a
add esp, 4
push eax
push 0x4111c4
call fcn.00407850
add esp, 8
mov eax, dword [ebp - 0x6758]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + eax*4]
push edx
push 0x4111c4
call fcn.00407850
add esp, 8
push 0x22
call fcn.0040309a
add esp, 4
push eax
push 0x4111c4
call fcn.00407850
add esp, 8
jmp 0x401bc6
push 0x410120
push 0x4111c4
call fcn.00407850
add esp, 8
mov eax, dword [ebp - 0x6758]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + eax*4]
push edx
push 0x4111c4
call fcn.00407850
add esp, 8
jmp 0x401a8b
call fcn.00401c7f
push 0x4111c4
call fcn.0040779b
add esp, 4
cmp dword [0x4111bc], 1
jne 0x401c2f
mov dword [ebp - 0x6758], 0
jmp 0x401c01
mov eax, dword [ebp - 0x6758]
add eax, 1
mov dword [ebp - 0x6758], eax
mov ecx, dword [0x4111c0]
sub ecx, 2
cmp dword [ebp - 0x6758], ecx
jge 0x401c2f
mov edx, dword [ebp - 0x6758]
imul edx, edx, 0x3e8
add edx, 0x45bb40
push edx
call fcn.0040779b
add esp, 4
jmp 0x401bf2
mov eax, dword [0x4111c0]
sub eax, 2
mov dword [ebp - 0x6758], eax
jmp 0x401c4e
mov ecx, dword [ebp - 0x6758]
add ecx, 1
mov dword [ebp - 0x6758], ecx
mov edx, dword [ebp - 0x6758]
cmp edx, dword [0x4111c0]
jge 0x401c78
mov eax, dword [ebp - 0x6758]
imul eax, eax, 0x3e8
add eax, 0x45bb40
push eax
call fcn.0040779b
add esp, 4
jmp 0x401c3f
xor eax, eax
pop edi
mov esp, ebp
pop ebp
ret