Function at 0x401000
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x37718
call fcn.00405170
push edi
mov al, byte [0x410c28]
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 [0x410c2c]
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 [0x410c30]
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 [0x410c34]
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 [0x410c38]
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 [0x410c3c]
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 [0x410c40]
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 [0x410c44]
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 [0x410c48]
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 [0x410c4c]
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 [0xde3960], eax
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
push eax
push 0x40fff8
call fcn.00405000
add esp, 8
push 0x40fff8
call fcn.004050f0
add esp, 4
mov dword [ebp - 0x6758], eax
jmp 0x401218
mov ecx, dword [ebp - 0x6758]
sub ecx, 1
mov dword [ebp - 0x6758], ecx
cmp dword [ebp - 0x6758], 1
jle 0x40126b
push 1
mov edx, dword [ebp - 0x6758]
push edx
push 0x40fff8
call fcn.0040393e
add esp, 0xc
push eax
call fcn.004038da
add esp, 4
cmp eax, 0x5c
jne 0x401269
mov eax, dword [ebp - 0x6758]
push eax
push 0x40fff8
call fcn.00403a6b
add esp, 8
push eax
push 0x4103e0
call fcn.00405000
add esp, 8
jmp 0x40126b
jmp 0x401209
push 0x53
call fcn.0040387e
add esp, 4
push eax
push 0x4107d0
call fcn.00405000
add esp, 8
push 0x61
call fcn.0040387e
add esp, 4
push eax
push 0x4107d0
call fcn.00405010
add esp, 8
push 0x74
call fcn.0040387e
add esp, 4
push eax
push 0x4107d0
call fcn.00405010
add esp, 8
push 0x69
call fcn.0040387e
add esp, 4
push eax
push 0x4107d0
call fcn.00405010
add esp, 8
push 0x76
call fcn.0040387e
add esp, 4
push eax
push 0x4107d0
call fcn.00405010
add esp, 8
push 0x61
call fcn.0040387e
add esp, 4
push eax
push 0x4107d0
call fcn.00405010
add esp, 8
push 0x53
call fcn.0040387e
add esp, 4
push eax
push 0x4107d0
call fcn.00405010
add esp, 8
push 0x6d
call fcn.0040387e
add esp, 4
push eax
push 0x4107d0
call fcn.00405010
add esp, 8
push 0x6f
call fcn.0040387e
add esp, 4
push eax
push 0x4107d0
call fcn.00405010
add esp, 8
push 0x6b
call fcn.0040387e
add esp, 4
push eax
push 0x4107d0
call fcn.00405010
add esp, 8
mov dword [ebp - 0x6758], 1
jmp 0x401376
mov ecx, dword [ebp - 0x6758]
add ecx, 1
mov dword [ebp - 0x6758], ecx
cmp dword [ebp - 0x6758], 0xb
jge 0x4013ad
push 1
mov edx, dword [ebp - 0x6758]
push edx
push 0x4107d0
call fcn.0040393e
add esp, 0xc
push eax
call fcn.004038da
add esp, 4
mov ecx, dword [ebp - 0x6758]
mov dword [ecx*4 + 0x410ec0], eax
jmp 0x401367
mov dword [ebp - 0x6758], 0
push 0x410c50
push 0x40ef18
call fcn.00405000
add esp, 8
push 0x410c54
lea edx, [ebp - 0x208]
push edx
call fcn.00405000
add esp, 8
push 0x40ef18
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
mov dword [ebp - 0x494], eax
mov eax, dword [ebp - 0x494]
push eax
push 0x40ef18
call fcn.00403a6b
add esp, 8
push eax
push 0x40ef18
call fcn.00405000
add esp, 8
push 0x72
call fcn.0040387e
add esp, 4
push eax
push 0x65
call fcn.0040387e
add esp, 4
push eax
push 0x64
call fcn.0040387e
add esp, 4
push eax
push 0x6c
call fcn.0040387e
add esp, 4
push eax
push 0x6f
call fcn.0040387e
add esp, 4
push eax
push 0x66
call fcn.0040387e
add esp, 4
push eax
push 0x61
call fcn.0040387e
add esp, 4
push eax
push 0x40ef18
push 0x40e030
push 0x40f120
call fcn.00404fa0
add esp, 0x28
push 0x40e044
lea ecx, [ebp - 0x37718]
push ecx
call fcn.00405000
add esp, 8
push 0x22
call fcn.0040387e
add esp, 4
push eax
lea edx, [ebp - 0x37718]
push edx
call fcn.00405010
add esp, 8
push 0x40f120
lea eax, [ebp - 0x37718]
push eax
call fcn.00405010
add esp, 8
push 0x22
call fcn.0040387e
add esp, 4
push eax
lea ecx, [ebp - 0x37718]
push ecx
call fcn.00405010
add esp, 8
push 0x40e054
lea edx, [ebp - 0x37718]
push edx
call fcn.00405010
add esp, 8
push 0x22
call fcn.0040387e
add esp, 4
push eax
lea eax, [ebp - 0x37718]
push eax
call fcn.00405010
add esp, 8
push 0x40f120
lea ecx, [ebp - 0x37718]
push ecx
call fcn.00405010
add esp, 8
push 0x22
call fcn.0040387e
add esp, 4
push eax
lea edx, [ebp - 0x37718]
push edx
call fcn.00405010
add esp, 8
lea eax, [ebp - 0x37718]
push eax
call fcn.00404f0a
add esp, 4
push 0x70
call fcn.0040387e
add esp, 4
push eax
push 0x6d
call fcn.0040387e
add esp, 4
push eax
push 0x74
call fcn.0040387e
add esp, 4
push eax
push 0x7a
call fcn.0040387e
add esp, 4
push eax
push 0x40ef18
push 0x40e05c
push 0x40f01c
call fcn.00404fa0
add esp, 0x1c
push str.if_not_exist
lea ecx, [ebp - 0x37718]
push ecx
call fcn.00405000
add esp, 8
push 0x22
call fcn.0040387e
add esp, 4
push eax
lea edx, [ebp - 0x37718]
push edx
call fcn.00405010
add esp, 8
push 0x40f01c
lea eax, [ebp - 0x37718]
push eax
call fcn.00405010
add esp, 8
push 0x22
call fcn.0040387e
add esp, 4
push eax
lea ecx, [ebp - 0x37718]
push ecx
call fcn.00405010
add esp, 8
push str._mkdir
lea edx, [ebp - 0x37718]
push edx
call fcn.00405010
add esp, 8
push 0x22
call fcn.0040387e
add esp, 4
push eax
lea eax, [ebp - 0x37718]
push eax
call fcn.00405010
add esp, 8
push 0x40f01c
lea ecx, [ebp - 0x37718]
push ecx
call fcn.00405010
add esp, 8
push 0x22
call fcn.0040387e
add esp, 4
push eax
lea edx, [ebp - 0x37718]
push edx
call fcn.00405010
add esp, 8
lea eax, [ebp - 0x37718]
push eax
call fcn.00404f0a
add esp, 4
push 0x40f01c
push str.attrib_h
push 0x40e08c
lea ecx, [ebp - 0x37718]
push ecx
call fcn.00404fa0
add esp, 0x10
lea edx, [ebp - 0x37718]
push edx
call fcn.00404f0a
add esp, 4
push str..bat
push 1
call fcn.00403520
add esp, 4
push eax
push 0x40e09c
push 0x40f01c
push str._s_s_s_s
push 0x40f238
call fcn.00404fa0
add esp, 0x18
push 0x40f238
push 0x40f620
call fcn.00405000
add esp, 8
push 0x410c58
lea eax, [ebp - 0x104]
push eax
call fcn.00405000
add esp, 8
push str..exe
push 2
call fcn.00403520
add esp, 4
push eax
push 0x40e0b4
lea ecx, [ebp - 0x104]
push ecx
call fcn.00404fa0
add esp, 0x10
lea edx, [ebp - 0x104]
push edx
push 0x40e0bc
push 0x40f01c
push str._s_s_s
push 0x40f724
call fcn.00404fa0
add esp, 0x14
push 0x73
call fcn.0040387e
add esp, 4
push eax
lea eax, [ebp - 0x6750]
push eax
call fcn.00405000
add esp, 8
push 0x65
call fcn.0040387e
add esp, 4
push eax
lea ecx, [ebp - 0x6750]
push ecx
call fcn.00405010
add esp, 8
push 0x74
call fcn.0040387e
add esp, 4
push eax
lea edx, [ebp - 0x6750]
push edx
call fcn.00405010
add esp, 8
push 0x20
call fcn.0040387e
add esp, 4
push eax
lea eax, [ebp - 0x6750]
push eax
call fcn.00405010
add esp, 8
push 0x7a
call fcn.0040387e
add esp, 4
push eax
lea ecx, [ebp - 0x6750]
push ecx
call fcn.00405010
add esp, 8
push 0x74
call fcn.0040387e
add esp, 4
push eax
lea edx, [ebp - 0x6750]
push edx
call fcn.00405010
add esp, 8
push 0x6d
call fcn.0040387e
add esp, 4
push eax
lea eax, [ebp - 0x6750]
push eax
call fcn.00405010
add esp, 8
push 0x70
call fcn.0040387e
add esp, 4
push eax
lea ecx, [ebp - 0x6750]
push ecx
call fcn.00405010
add esp, 8
push 0x3d
call fcn.0040387e
add esp, 4
push eax
lea edx, [ebp - 0x6750]
push edx
call fcn.00405010
add esp, 8
push 0x73
call fcn.0040387e
add esp, 4
push eax
lea eax, [ebp - 0x314]
push eax
call fcn.00405000
add esp, 8
push 0x65
call fcn.0040387e
add esp, 4
push eax
lea ecx, [ebp - 0x314]
push ecx
call fcn.00405010
add esp, 8
push 0x74
call fcn.0040387e
add esp, 4
push eax
lea edx, [ebp - 0x314]
push edx
call fcn.00405010
add esp, 8
push 0x20
call fcn.0040387e
add esp, 4
push eax
lea eax, [ebp - 0x314]
push eax
call fcn.00405010
add esp, 8
push 0x4d
call fcn.0040387e
add esp, 4
push eax
lea ecx, [ebp - 0x314]
push ecx
call fcn.00405010
add esp, 8
push 0x59
call fcn.0040387e
add esp, 4
push eax
lea edx, [ebp - 0x314]
push edx
call fcn.00405010
add esp, 8
push 0x46
call fcn.0040387e
add esp, 4
push eax
lea eax, [ebp - 0x314]
push eax
call fcn.00405010
add esp, 8
push 0x49
call fcn.0040387e
add esp, 4
push eax
lea ecx, [ebp - 0x314]
push ecx
call fcn.00405010
add esp, 8
push 0x4c
call fcn.0040387e
add esp, 4
push eax
lea edx, [ebp - 0x314]
push edx
call fcn.00405010
add esp, 8
push 0x45
call fcn.0040387e
add esp, 4
push eax
lea eax, [ebp - 0x314]
push eax
call fcn.00405010
add esp, 8
push 0x53
call fcn.0040387e
add esp, 4
push eax
lea ecx, [ebp - 0x314]
push ecx
call fcn.00405010
add esp, 8
push 0x3d
call fcn.0040387e
add esp, 4
push eax
lea edx, [ebp - 0x314]
push edx
call fcn.00405010
add esp, 8
push 0x40f01c
lea eax, [ebp - 0x6750]
push eax
push 0x40e0c8
lea ecx, [ebp - 0x208]
push ecx
call fcn.00404fa0
add esp, 0x10
push 0x40f120
lea edx, [ebp - 0x314]
push edx
push 0x40e0d0
lea eax, [ebp - 0x685c]
push eax
call fcn.00404fa0
add esp, 0x10
push 0x73
call fcn.0040387e
add esp, 4
push eax
lea ecx, [ebp - 0x6750]
push ecx
call fcn.00405000
add esp, 8
push 0x65
call fcn.0040387e
add esp, 4
push eax
lea edx, [ebp - 0x6750]
push edx
call fcn.00405010
add esp, 8
push 0x74
call fcn.0040387e
add esp, 4
push eax
lea eax, [ebp - 0x6750]
push eax
call fcn.00405010
add esp, 8
push 0x20
call fcn.0040387e
add esp, 4
push eax
lea ecx, [ebp - 0x6750]
push ecx
call fcn.00405010
add esp, 8
push 0x62
call fcn.0040387e
add esp, 4
push eax
lea edx, [ebp - 0x6750]
push edx
call fcn.00405010
add esp, 8
push 0x66
call fcn.0040387e
add esp, 4
push eax
lea eax, [ebp - 0x6750]
push eax
call fcn.00405010
add esp, 8
push 0x63
call fcn.0040387e
add esp, 4
push eax
lea ecx, [ebp - 0x6750]
push ecx
call fcn.00405010
add esp, 8
push 0x65
call fcn.0040387e
add esp, 4
push eax
lea edx, [ebp - 0x6750]
push edx
call fcn.00405010
add esp, 8
push 0x63
call fcn.0040387e
add esp, 4
push eax
lea eax, [ebp - 0x6750]
push eax
call fcn.00405010
add esp, 8
push 0x3d
call fcn.0040387e
add esp, 4
push eax
lea ecx, [ebp - 0x6750]
push ecx
call fcn.00405010
add esp, 8
push 0x410c5c
push 0x40f828
call fcn.00405000
add esp, 8
push 0xa
call fcn.0040387e
add esp, 4
push eax
push 0xd
call fcn.0040387e
add esp, 4
push eax
lea edx, [ebp - 0x104]
push edx
lea eax, [ebp - 0x6750]
push eax
push 0xa
call fcn.0040387e
add esp, 4
push eax
push 0xd
call fcn.0040387e
add esp, 4
push eax
lea ecx, [ebp - 0x685c]
push ecx
push 0xa
call fcn.0040387e
add esp, 4
push eax
push 0xd
call fcn.0040387e
add esp, 4
push eax
lea edx, [ebp - 0x208]
push edx
push 0xa
call fcn.0040387e
add esp, 4
push eax
push 0xd
call fcn.0040387e
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 0x40f828
call fcn.00404fa0
add esp, 0x3c
push 0x40f238
push 0x20
call fcn.0040387e
add esp, 4
push eax
push 0x6c
call fcn.0040387e
add esp, 4
push eax
push 0x65
call fcn.0040387e
add esp, 4
push eax
push 0x64
call fcn.0040387e
add esp, 4
push eax
push str._s_s_s_s_s
lea eax, [ebp - 0x490]
push eax
call fcn.00404fa0
add esp, 0x1c
cmp dword [ebp + 8], 1
jle 0x401cae
mov dword [ebp - 0x6758], 1
jmp 0x401b7d
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 0x401cae
mov dword [ebp - 0x6870], 0
mov dword [ebp - 0x6860], 1
jmp 0x401bb4
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.004050f0
add esp, 4
add eax, 1
cmp dword [ebp - 0x6860], eax
jae 0x401c16
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.0040393e
add esp, 0xc
push eax
call fcn.004038da
add esp, 4
mov dword [ebp - 0x686c], eax
cmp dword [ebp - 0x686c], 0x20
jne 0x401c14
mov dword [ebp - 0x6870], 1
jmp 0x401ba5
cmp dword [ebp - 0x6870], 1
jne 0x401c7d
push 0x40e10c
push 0x40f238
call fcn.00405010
add esp, 8
push 0x22
call fcn.0040387e
add esp, 4
push eax
push 0x40f238
call fcn.00405010
add esp, 8
mov edx, dword [ebp - 0x6758]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
push ecx
push 0x40f238
call fcn.00405010
add esp, 8
push 0x22
call fcn.0040387e
add esp, 4
push eax
push 0x40f238
call fcn.00405010
add esp, 8
jmp 0x401ca9
push 0x40e110
push 0x40f238
call fcn.00405010
add esp, 8
mov edx, dword [ebp - 0x6758]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
push ecx
push 0x40f238
call fcn.00405010
add esp, 8
jmp 0x401b6e
call fcn.00401d6b
push 0x40f238
call fcn.00404f0a
add esp, 4
mov dword [0x40f230], eax
cmp dword [0x40f22c], 1
jne 0x401d16
mov dword [ebp - 0x6758], 0
jmp 0x401ce9
mov edx, dword [ebp - 0x6758]
add edx, 1
mov dword [ebp - 0x6758], edx
mov eax, dword [0x40f234]
sub eax, 2
cmp dword [ebp - 0x6758], eax
jge 0x401d16
mov ecx, dword [ebp - 0x6758]
imul ecx, ecx, 0x3e8
add ecx, 0x45a2e0
push ecx
call fcn.00404f0a
add esp, 4
jmp 0x401cda
mov edx, dword [0x40f234]
sub edx, 2
mov dword [ebp - 0x6758], edx
jmp 0x401d36
mov eax, dword [ebp - 0x6758]
add eax, 1
mov dword [ebp - 0x6758], eax
mov ecx, dword [ebp - 0x6758]
cmp ecx, dword [0x40f234]
jge 0x401d61
mov edx, dword [ebp - 0x6758]
imul edx, edx, 0x3e8
add edx, 0x45a2e0
push edx
call fcn.00404f0a
add esp, 4
jmp 0x401d27
mov eax, dword [0x40f230]
pop edi
mov esp, ebp
pop ebp
ret