Function at 0x401000
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x37718
call fcn.004034f0
push edi
mov al, byte [0x40e008]
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 [0x40e00c]
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 [0x40e010]
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 [0x40e014]
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 [0x40e018]
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 [0x40e01c]
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 [0x40e020]
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 [0x40e024]
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 [0x40e028]
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 [0x40e02c]
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 0x40c030
push 0x40dbe0
call fcn.004033a0
add esp, 8
mov dword [ebp - 0x6758], 1
jmp 0x401201
mov edx, dword [ebp - 0x6758]
add edx, 1
mov dword [ebp - 0x6758], edx
cmp dword [ebp - 0x6758], 0xb
jge 0x401238
push 1
mov eax, dword [ebp - 0x6758]
push eax
push 0x40dbe0
call fcn.00402ecb
add esp, 0xc
push eax
call fcn.00402e67
add esp, 4
mov ecx, dword [ebp - 0x6758]
mov dword [ecx*4 + 0x40e280], eax
jmp 0x4011f2
mov dword [ebp - 0x6758], 0
push 0x40e030
push 0x40cde4
call fcn.004033a0
add esp, 8
push 0x40e034
lea edx, [ebp - 0x208]
push edx
call fcn.004033a0
add esp, 8
push 0x40cde4
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
mov dword [ebp - 0x494], eax
mov eax, dword [ebp - 0x494]
push eax
push 0x40cde4
call fcn.00402ff8
add esp, 8
push eax
push 0x40cde4
call fcn.004033a0
add esp, 8
push 0x72
call fcn.00402e0b
add esp, 4
push eax
push 0x65
call fcn.00402e0b
add esp, 4
push eax
push 0x64
call fcn.00402e0b
add esp, 4
push eax
push 0x6c
call fcn.00402e0b
add esp, 4
push eax
push 0x6f
call fcn.00402e0b
add esp, 4
push eax
push 0x66
call fcn.00402e0b
add esp, 4
push eax
push 0x61
call fcn.00402e0b
add esp, 4
push eax
push 0x40cde4
push 0x40c03c
push 0x40cfec
call fcn.00403490
add esp, 0x28
push 0x40c050
lea ecx, [ebp - 0x37718]
push ecx
call fcn.004033a0
add esp, 8
push 0x22
call fcn.00402e0b
add esp, 4
push eax
lea edx, [ebp - 0x37718]
push edx
call fcn.004033b0
add esp, 8
push 0x40cfec
lea eax, [ebp - 0x37718]
push eax
call fcn.004033b0
add esp, 8
push 0x22
call fcn.00402e0b
add esp, 4
push eax
lea ecx, [ebp - 0x37718]
push ecx
call fcn.004033b0
add esp, 8
push 0x40c060
lea edx, [ebp - 0x37718]
push edx
call fcn.004033b0
add esp, 8
push 0x22
call fcn.00402e0b
add esp, 4
push eax
lea eax, [ebp - 0x37718]
push eax
call fcn.004033b0
add esp, 8
push 0x40cfec
lea ecx, [ebp - 0x37718]
push ecx
call fcn.004033b0
add esp, 8
push 0x22
call fcn.00402e0b
add esp, 4
push eax
lea edx, [ebp - 0x37718]
push edx
call fcn.004033b0
add esp, 8
lea eax, [ebp - 0x37718]
push eax
call fcn.004032fb
add esp, 4
push 0x70
call fcn.00402e0b
add esp, 4
push eax
push 0x6d
call fcn.00402e0b
add esp, 4
push eax
push 0x74
call fcn.00402e0b
add esp, 4
push eax
push 0x7a
call fcn.00402e0b
add esp, 4
push eax
push 0x40cde4
push 0x40c068
push 0x40cee8
call fcn.00403490
add esp, 0x1c
push str.if_not_exist
lea ecx, [ebp - 0x37718]
push ecx
call fcn.004033a0
add esp, 8
push 0x22
call fcn.00402e0b
add esp, 4
push eax
lea edx, [ebp - 0x37718]
push edx
call fcn.004033b0
add esp, 8
push 0x40cee8
lea eax, [ebp - 0x37718]
push eax
call fcn.004033b0
add esp, 8
push 0x22
call fcn.00402e0b
add esp, 4
push eax
lea ecx, [ebp - 0x37718]
push ecx
call fcn.004033b0
add esp, 8
push str._mkdir
lea edx, [ebp - 0x37718]
push edx
call fcn.004033b0
add esp, 8
push 0x22
call fcn.00402e0b
add esp, 4
push eax
lea eax, [ebp - 0x37718]
push eax
call fcn.004033b0
add esp, 8
push 0x40cee8
lea ecx, [ebp - 0x37718]
push ecx
call fcn.004033b0
add esp, 8
push 0x22
call fcn.00402e0b
add esp, 4
push eax
lea edx, [ebp - 0x37718]
push edx
call fcn.004033b0
add esp, 8
lea eax, [ebp - 0x37718]
push eax
call fcn.004032fb
add esp, 4
push 0x40cee8
push str.attrib_h
push 0x40c098
lea ecx, [ebp - 0x37718]
push ecx
call fcn.00403490
add esp, 0x10
lea edx, [ebp - 0x37718]
push edx
call fcn.004032fb
add esp, 4
push str..bat
push 1
call fcn.00402aad
add esp, 4
push eax
push 0x40c0a8
push 0x40cee8
push str._s_s_s_s
push 0x40d100
call fcn.00403490
add esp, 0x18
push 0x40d100
push 0x40d204
call fcn.004033a0
add esp, 8
push 0x40e038
lea eax, [ebp - 0x104]
push eax
call fcn.004033a0
add esp, 8
push str..exe
push 2
call fcn.00402aad
add esp, 4
push eax
push 0x40c0c0
lea ecx, [ebp - 0x104]
push ecx
call fcn.00403490
add esp, 0x10
lea edx, [ebp - 0x104]
push edx
push 0x40c0c8
push 0x40cee8
push str._s_s_s
push 0x40d308
call fcn.00403490
add esp, 0x14
push 0x73
call fcn.00402e0b
add esp, 4
push eax
lea eax, [ebp - 0x6750]
push eax
call fcn.004033a0
add esp, 8
push 0x65
call fcn.00402e0b
add esp, 4
push eax
lea ecx, [ebp - 0x6750]
push ecx
call fcn.004033b0
add esp, 8
push 0x74
call fcn.00402e0b
add esp, 4
push eax
lea edx, [ebp - 0x6750]
push edx
call fcn.004033b0
add esp, 8
push 0x20
call fcn.00402e0b
add esp, 4
push eax
lea eax, [ebp - 0x6750]
push eax
call fcn.004033b0
add esp, 8
push 0x7a
call fcn.00402e0b
add esp, 4
push eax
lea ecx, [ebp - 0x6750]
push ecx
call fcn.004033b0
add esp, 8
push 0x74
call fcn.00402e0b
add esp, 4
push eax
lea edx, [ebp - 0x6750]
push edx
call fcn.004033b0
add esp, 8
push 0x6d
call fcn.00402e0b
add esp, 4
push eax
lea eax, [ebp - 0x6750]
push eax
call fcn.004033b0
add esp, 8
push 0x70
call fcn.00402e0b
add esp, 4
push eax
lea ecx, [ebp - 0x6750]
push ecx
call fcn.004033b0
add esp, 8
push 0x3d
call fcn.00402e0b
add esp, 4
push eax
lea edx, [ebp - 0x6750]
push edx
call fcn.004033b0
add esp, 8
push 0x73
call fcn.00402e0b
add esp, 4
push eax
lea eax, [ebp - 0x314]
push eax
call fcn.004033a0
add esp, 8
push 0x65
call fcn.00402e0b
add esp, 4
push eax
lea ecx, [ebp - 0x314]
push ecx
call fcn.004033b0
add esp, 8
push 0x74
call fcn.00402e0b
add esp, 4
push eax
lea edx, [ebp - 0x314]
push edx
call fcn.004033b0
add esp, 8
push 0x20
call fcn.00402e0b
add esp, 4
push eax
lea eax, [ebp - 0x314]
push eax
call fcn.004033b0
add esp, 8
push 0x4d
call fcn.00402e0b
add esp, 4
push eax
lea ecx, [ebp - 0x314]
push ecx
call fcn.004033b0
add esp, 8
push 0x59
call fcn.00402e0b
add esp, 4
push eax
lea edx, [ebp - 0x314]
push edx
call fcn.004033b0
add esp, 8
push 0x46
call fcn.00402e0b
add esp, 4
push eax
lea eax, [ebp - 0x314]
push eax
call fcn.004033b0
add esp, 8
push 0x49
call fcn.00402e0b
add esp, 4
push eax
lea ecx, [ebp - 0x314]
push ecx
call fcn.004033b0
add esp, 8
push 0x4c
call fcn.00402e0b
add esp, 4
push eax
lea edx, [ebp - 0x314]
push edx
call fcn.004033b0
add esp, 8
push 0x45
call fcn.00402e0b
add esp, 4
push eax
lea eax, [ebp - 0x314]
push eax
call fcn.004033b0
add esp, 8
push 0x53
call fcn.00402e0b
add esp, 4
push eax
lea ecx, [ebp - 0x314]
push ecx
call fcn.004033b0
add esp, 8
push 0x3d
call fcn.00402e0b
add esp, 4
push eax
lea edx, [ebp - 0x314]
push edx
call fcn.004033b0
add esp, 8
push 0x40cee8
lea eax, [ebp - 0x6750]
push eax
push 0x40c0d4
lea ecx, [ebp - 0x208]
push ecx
call fcn.00403490
add esp, 0x10
push 0x40cfec
lea edx, [ebp - 0x314]
push edx
push str._s_s
lea eax, [ebp - 0x685c]
push eax
call fcn.00403490
add esp, 0x10
push 0x73
call fcn.00402e0b
add esp, 4
push eax
lea ecx, [ebp - 0x6750]
push ecx
call fcn.004033a0
add esp, 8
push 0x65
call fcn.00402e0b
add esp, 4
push eax
lea edx, [ebp - 0x6750]
push edx
call fcn.004033b0
add esp, 8
push 0x74
call fcn.00402e0b
add esp, 4
push eax
lea eax, [ebp - 0x6750]
push eax
call fcn.004033b0
add esp, 8
push 0x20
call fcn.00402e0b
add esp, 4
push eax
lea ecx, [ebp - 0x6750]
push ecx
call fcn.004033b0
add esp, 8
push 0x62
call fcn.00402e0b
add esp, 4
push eax
lea edx, [ebp - 0x6750]
push edx
call fcn.004033b0
add esp, 8
push 0x66
call fcn.00402e0b
add esp, 4
push eax
lea eax, [ebp - 0x6750]
push eax
call fcn.004033b0
add esp, 8
push 0x63
call fcn.00402e0b
add esp, 4
push eax
lea ecx, [ebp - 0x6750]
push ecx
call fcn.004033b0
add esp, 8
push 0x65
call fcn.00402e0b
add esp, 4
push eax
lea edx, [ebp - 0x6750]
push edx
call fcn.004033b0
add esp, 8
push 0x63
call fcn.00402e0b
add esp, 4
push eax
lea eax, [ebp - 0x6750]
push eax
call fcn.004033b0
add esp, 8
push 0x3d
call fcn.00402e0b
add esp, 4
push eax
lea ecx, [ebp - 0x6750]
push ecx
call fcn.004033b0
add esp, 8
push 0x40e03c
push 0x40d40c
call fcn.004033a0
add esp, 8
push 0xa
call fcn.00402e0b
add esp, 4
push eax
push 0xd
call fcn.00402e0b
add esp, 4
push eax
lea edx, [ebp - 0x104]
push edx
lea eax, [ebp - 0x6750]
push eax
push 0xa
call fcn.00402e0b
add esp, 4
push eax
push 0xd
call fcn.00402e0b
add esp, 4
push eax
lea ecx, [ebp - 0x685c]
push ecx
push 0xa
call fcn.00402e0b
add esp, 4
push eax
push 0xd
call fcn.00402e0b
add esp, 4
push eax
lea edx, [ebp - 0x208]
push edx
push 0xa
call fcn.00402e0b
add esp, 4
push eax
push 0xd
call fcn.00402e0b
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 0x40d40c
call fcn.00403490
add esp, 0x3c
push 0x40d100
push 0x20
call fcn.00402e0b
add esp, 4
push eax
push 0x6c
call fcn.00402e0b
add esp, 4
push eax
push 0x65
call fcn.00402e0b
add esp, 4
push eax
push 0x64
call fcn.00402e0b
add esp, 4
push eax
push str._s_s_s_s_s
lea eax, [ebp - 0x490]
push eax
call fcn.00403490
add esp, 0x1c
cmp dword [ebp + 8], 1
jle 0x401b39
mov dword [ebp - 0x6758], 1
jmp 0x401a08
mov ecx, dword [ebp - 0x6758]
add ecx, 1
mov dword [ebp - 0x6758], ecx
mov edx, dword [ebp + 8]
sub edx, 1
cmp dword [ebp - 0x6758], edx
jg 0x401b39
mov dword [ebp - 0x6870], 0
mov dword [ebp - 0x6860], 1
jmp 0x401a3f
mov eax, dword [ebp - 0x6860]
add eax, 1
mov dword [ebp - 0x6860], eax
mov ecx, dword [ebp - 0x6758]
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + ecx*4]
push eax
call fcn.00403280
add esp, 4
add eax, 1
cmp dword [ebp - 0x6860], eax
jae 0x401aa1
push 1
mov ecx, dword [ebp - 0x6860]
push ecx
mov edx, dword [ebp - 0x6758]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
push ecx
call fcn.00402ecb
add esp, 0xc
push eax
call fcn.00402e67
add esp, 4
mov dword [ebp - 0x686c], eax
cmp dword [ebp - 0x686c], 0x20
jne 0x401a9f
mov dword [ebp - 0x6870], 1
jmp 0x401a30
cmp dword [ebp - 0x6870], 1
jne 0x401b08
push 0x40c118
push 0x40d100
call fcn.004033b0
add esp, 8
push 0x22
call fcn.00402e0b
add esp, 4
push eax
push 0x40d100
call fcn.004033b0
add esp, 8
mov edx, dword [ebp - 0x6758]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
push ecx
push 0x40d100
call fcn.004033b0
add esp, 8
push 0x22
call fcn.00402e0b
add esp, 4
push eax
push 0x40d100
call fcn.004033b0
add esp, 8
jmp 0x401b34
push 0x40c11c
push 0x40d100
call fcn.004033b0
add esp, 8
mov edx, dword [ebp - 0x6758]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
push ecx
push 0x40d100
call fcn.004033b0
add esp, 8
jmp 0x4019f9
call fcn.00401bee
push 0x40d100
call fcn.004032fb
add esp, 4
cmp dword [0x40d0f8], 1
jne 0x401b9c
mov dword [ebp - 0x6758], 0
jmp 0x401b6f
mov edx, dword [ebp - 0x6758]
add edx, 1
mov dword [ebp - 0x6758], edx
mov eax, dword [0x40d0fc]
sub eax, 2
cmp dword [ebp - 0x6758], eax
jge 0x401b9c
mov ecx, dword [ebp - 0x6758]
imul ecx, ecx, 0x3e8
add ecx, 0x4576a0
push ecx
call fcn.004032fb
add esp, 4
jmp 0x401b60
mov edx, dword [0x40d0fc]
sub edx, 2
mov dword [ebp - 0x6758], edx
jmp 0x401bbc
mov eax, dword [ebp - 0x6758]
add eax, 1
mov dword [ebp - 0x6758], eax
mov ecx, dword [ebp - 0x6758]
cmp ecx, dword [0x40d0fc]
jge 0x401be7
mov edx, dword [ebp - 0x6758]
imul edx, edx, 0x3e8
add edx, 0x4576a0
push edx
call fcn.004032fb
add esp, 4
jmp 0x401bad
xor eax, eax
pop edi
mov esp, ebp
pop ebp
ret