Function at 0x401000
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x3772c
call fcn.00408020
push edi
mov al, byte [0x417f0c]
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 [0x417f10]
mov byte [ebp - 0x375c4], dl
mov ecx, 0xc34f
xor eax, eax
lea edi, [ebp - 0x375c3]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov al, byte [0x417f14]
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 [0x417f18]
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 [0x417f1c]
mov byte [ebp - 0x3772c], dl
mov ecx, 0x59
xor eax, eax
lea edi, [ebp - 0x3772b]
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 - 0x6878], 0
mov dword [ebp - 0x6754], 0
mov al, byte [0x417f20]
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 [0x417f24]
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 [0x417f28]
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 [0x417f2c]
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 [0x417f30]
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 [0x417f34]
mov byte [ebp - 0x6874], dl
xor eax, eax
mov dword [ebp - 0x6873], eax
mov dword [ebp - 0x686f], eax
mov dword [ebp - 0x686b], eax
mov dword [ebp - 0x6867], eax
mov word [ebp - 0x6863], ax
mov byte [ebp - 0x6861], 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 - 0x6880], 0
mov dword [ebp - 0x6884], 0
mov dword [ebp - 0x687c], 0
mov dword [ebp - 0x494], 0
push 0xfffffffffffffff5
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
mov dword [0xf0fc00], eax
push 0x104
push 0x415310
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov dword [ebp - 0x494], eax
mov dword [ebp - 0x494], 0
push 0x415310
call fcn.00407f50
add esp, 4
mov dword [ebp - 0x6758], eax
jmp 0x40125a
mov ecx, dword [ebp - 0x6758]
sub ecx, 1
mov dword [ebp - 0x6758], ecx
cmp dword [ebp - 0x6758], 1
jle 0x4012ad
push 1
mov edx, dword [ebp - 0x6758]
push edx
push 0x415310
call fcn.004037a5
add esp, 0xc
push eax
call fcn.00403741
add esp, 4
cmp eax, 0x5c
jne 0x4012ab
mov eax, dword [ebp - 0x6758]
push eax
push 0x415310
call fcn.004038d2
add esp, 8
push eax
push 0x416698
call fcn.00407e00
add esp, 8
jmp 0x4012ad
jmp 0x40124b
push str.aRCheliFUN
push 0x417a28
call fcn.00407e00
add esp, 8
push str.____451915
push 0x417a34
call fcn.00407e00
add esp, 8
mov dword [ebp - 0x6758], 1
jmp 0x4012ec
mov ecx, dword [ebp - 0x6758]
add ecx, 1
mov dword [ebp - 0x6758], ecx
cmp dword [ebp - 0x6758], 0xb
jge 0x401323
push 1
mov edx, dword [ebp - 0x6758]
push edx
push 0x417a28
call fcn.004037a5
add esp, 0xc
push eax
call fcn.00403741
add esp, 4
mov ecx, dword [ebp - 0x6758]
mov dword [ecx*4 + 0x4181e0], eax
jmp 0x4012dd
push 1
call fcn.00407cb6
add esp, 4
mov dword [ebp - 0x6758], eax
mov edx, dword [ebp - 0x6758]
push edx
push 0x411048
push 0x417a48
call fcn.00407ef0
add esp, 0xc
push 5
push 0x417a48
call fcn.00403928
add esp, 8
push eax
push 0x417a70
call fcn.00407e00
add esp, 8
fild dword [ebp - 0x6758]
sub esp, 8
fstp qword [esp]
call fcn.0040375e
add esp, 8
push eax
push 0x417a48
call fcn.00407e00
add esp, 8
push 5
push 0x417a48
call fcn.00403928
add esp, 8
push eax
push 0x417a98
call fcn.00407e00
add esp, 8
mov dword [ebp - 0x6758], 0
push 0x417f38
push 0x411f08
call fcn.00407e00
add esp, 8
push 0x417f3c
lea eax, [ebp - 0x208]
push eax
call fcn.00407e00
add esp, 8
push 0x411f08
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
mov dword [ebp - 0x494], eax
mov ecx, dword [ebp - 0x494]
push ecx
push 0x411f08
call fcn.004038d2
add esp, 8
push eax
push 0x411f08
call fcn.00407e00
add esp, 8
push 0x72
call fcn.004036e5
add esp, 4
push eax
push 0x65
call fcn.004036e5
add esp, 4
push eax
push 0x64
call fcn.004036e5
add esp, 4
push eax
push 0x6c
call fcn.004036e5
add esp, 4
push eax
push 0x6f
call fcn.004036e5
add esp, 4
push eax
push 0x66
call fcn.004036e5
add esp, 4
push eax
push 0x61
call fcn.004036e5
add esp, 4
push eax
push 0x411f08
push 0x41104c
push 0x412110
call fcn.00407ef0
add esp, 0x28
push 0x411060
lea edx, [ebp - 0x3772c]
push edx
call fcn.00407e00
add esp, 8
push 0x22
call fcn.004036e5
add esp, 4
push eax
lea eax, [ebp - 0x3772c]
push eax
call fcn.00407e10
add esp, 8
push 0x412110
lea ecx, [ebp - 0x3772c]
push ecx
call fcn.00407e10
add esp, 8
push 0x22
call fcn.004036e5
add esp, 4
push eax
lea edx, [ebp - 0x3772c]
push edx
call fcn.00407e10
add esp, 8
push 0x411070
lea eax, [ebp - 0x3772c]
push eax
call fcn.00407e10
add esp, 8
push 0x22
call fcn.004036e5
add esp, 4
push eax
lea ecx, [ebp - 0x3772c]
push ecx
call fcn.00407e10
add esp, 8
push 0x412110
lea edx, [ebp - 0x3772c]
push edx
call fcn.00407e10
add esp, 8
push 0x22
call fcn.004036e5
add esp, 4
push eax
lea eax, [ebp - 0x3772c]
push eax
call fcn.00407e10
add esp, 8
lea ecx, [ebp - 0x3772c]
push ecx
call fcn.00407d66
add esp, 4
push 0x70
call fcn.004036e5
add esp, 4
push eax
push 0x6d
call fcn.004036e5
add esp, 4
push eax
push 0x74
call fcn.004036e5
add esp, 4
push eax
push 0x7a
call fcn.004036e5
add esp, 4
push eax
push 0x411f08
push 0x411078
push 0x41200c
call fcn.00407ef0
add esp, 0x1c
push str.if_not_exist
lea edx, [ebp - 0x3772c]
push edx
call fcn.00407e00
add esp, 8
push 0x22
call fcn.004036e5
add esp, 4
push eax
lea eax, [ebp - 0x3772c]
push eax
call fcn.00407e10
add esp, 8
push 0x41200c
lea ecx, [ebp - 0x3772c]
push ecx
call fcn.00407e10
add esp, 8
push 0x22
call fcn.004036e5
add esp, 4
push eax
lea edx, [ebp - 0x3772c]
push edx
call fcn.00407e10
add esp, 8
push str._mkdir
lea eax, [ebp - 0x3772c]
push eax
call fcn.00407e10
add esp, 8
push 0x22
call fcn.004036e5
add esp, 4
push eax
lea ecx, [ebp - 0x3772c]
push ecx
call fcn.00407e10
add esp, 8
push 0x41200c
lea edx, [ebp - 0x3772c]
push edx
call fcn.00407e10
add esp, 8
push 0x22
call fcn.004036e5
add esp, 4
push eax
lea eax, [ebp - 0x3772c]
push eax
call fcn.00407e10
add esp, 8
lea ecx, [ebp - 0x3772c]
push ecx
call fcn.00407d66
add esp, 4
push 0x41200c
push str.attrib_h
push 0x4110a8
lea edx, [ebp - 0x3772c]
push edx
call fcn.00407ef0
add esp, 0x10
lea eax, [ebp - 0x3772c]
push eax
call fcn.00407d66
add esp, 4
push str..bat
push 1
call fcn.00403387
add esp, 4
push eax
push 0x4110b8
push 0x41200c
push str._s_s_s_s
push 0x412228
call fcn.00407ef0
add esp, 0x18
push 0x412228
push 0x414938
call fcn.00407e00
add esp, 8
push 0x417f40
lea ecx, [ebp - 0x104]
push ecx
call fcn.00407e00
add esp, 8
push str..exe
push 2
call fcn.00403387
add esp, 4
push eax
push 0x4110d0
lea edx, [ebp - 0x104]
push edx
call fcn.00407ef0
add esp, 0x10
lea eax, [ebp - 0x104]
push eax
push 0x4110d8
push 0x41200c
push str._s_s_s
push 0x414a3c
call fcn.00407ef0
add esp, 0x14
push 0x73
call fcn.004036e5
add esp, 4
push eax
lea ecx, [ebp - 0x6750]
push ecx
call fcn.00407e00
add esp, 8
push 0x65
call fcn.004036e5
add esp, 4
push eax
lea edx, [ebp - 0x6750]
push edx
call fcn.00407e10
add esp, 8
push 0x74
call fcn.004036e5
add esp, 4
push eax
lea eax, [ebp - 0x6750]
push eax
call fcn.00407e10
add esp, 8
push 0x20
call fcn.004036e5
add esp, 4
push eax
lea ecx, [ebp - 0x6750]
push ecx
call fcn.00407e10
add esp, 8
push 0x7a
call fcn.004036e5
add esp, 4
push eax
lea edx, [ebp - 0x6750]
push edx
call fcn.00407e10
add esp, 8
push 0x74
call fcn.004036e5
add esp, 4
push eax
lea eax, [ebp - 0x6750]
push eax
call fcn.00407e10
add esp, 8
push 0x6d
call fcn.004036e5
add esp, 4
push eax
lea ecx, [ebp - 0x6750]
push ecx
call fcn.00407e10
add esp, 8
push 0x70
call fcn.004036e5
add esp, 4
push eax
lea edx, [ebp - 0x6750]
push edx
call fcn.00407e10
add esp, 8
push 0x3d
call fcn.004036e5
add esp, 4
push eax
lea eax, [ebp - 0x6750]
push eax
call fcn.00407e10
add esp, 8
push 0x73
call fcn.004036e5
add esp, 4
push eax
lea ecx, [ebp - 0x314]
push ecx
call fcn.00407e00
add esp, 8
push 0x65
call fcn.004036e5
add esp, 4
push eax
lea edx, [ebp - 0x314]
push edx
call fcn.00407e10
add esp, 8
push 0x74
call fcn.004036e5
add esp, 4
push eax
lea eax, [ebp - 0x314]
push eax
call fcn.00407e10
add esp, 8
push 0x20
call fcn.004036e5
add esp, 4
push eax
lea ecx, [ebp - 0x314]
push ecx
call fcn.00407e10
add esp, 8
push 0x4d
call fcn.004036e5
add esp, 4
push eax
lea edx, [ebp - 0x314]
push edx
call fcn.00407e10
add esp, 8
push 0x59
call fcn.004036e5
add esp, 4
push eax
lea eax, [ebp - 0x314]
push eax
call fcn.00407e10
add esp, 8
push 0x46
call fcn.004036e5
add esp, 4
push eax
lea ecx, [ebp - 0x314]
push ecx
call fcn.00407e10
add esp, 8
push 0x49
call fcn.004036e5
add esp, 4
push eax
lea edx, [ebp - 0x314]
push edx
call fcn.00407e10
add esp, 8
push 0x4c
call fcn.004036e5
add esp, 4
push eax
lea eax, [ebp - 0x314]
push eax
call fcn.00407e10
add esp, 8
push 0x45
call fcn.004036e5
add esp, 4
push eax
lea ecx, [ebp - 0x314]
push ecx
call fcn.00407e10
add esp, 8
push 0x53
call fcn.004036e5
add esp, 4
push eax
lea edx, [ebp - 0x314]
push edx
call fcn.00407e10
add esp, 8
push 0x3d
call fcn.004036e5
add esp, 4
push eax
lea eax, [ebp - 0x314]
push eax
call fcn.00407e10
add esp, 8
push 0x41200c
lea ecx, [ebp - 0x6750]
push ecx
push 0x4110e4
lea edx, [ebp - 0x208]
push edx
call fcn.00407ef0
add esp, 0x10
push 0x412110
lea eax, [ebp - 0x314]
push eax
push str._s_s
lea ecx, [ebp - 0x685c]
push ecx
call fcn.00407ef0
add esp, 0x10
push 0x73
call fcn.004036e5
add esp, 4
push eax
lea edx, [ebp - 0x6750]
push edx
call fcn.00407e00
add esp, 8
push 0x65
call fcn.004036e5
add esp, 4
push eax
lea eax, [ebp - 0x6750]
push eax
call fcn.00407e10
add esp, 8
push 0x74
call fcn.004036e5
add esp, 4
push eax
lea ecx, [ebp - 0x6750]
push ecx
call fcn.00407e10
add esp, 8
push 0x20
call fcn.004036e5
add esp, 4
push eax
lea edx, [ebp - 0x6750]
push edx
call fcn.00407e10
add esp, 8
push 0x62
call fcn.004036e5
add esp, 4
push eax
lea eax, [ebp - 0x6750]
push eax
call fcn.00407e10
add esp, 8
push 0x66
call fcn.004036e5
add esp, 4
push eax
lea ecx, [ebp - 0x6750]
push ecx
call fcn.00407e10
add esp, 8
push 0x63
call fcn.004036e5
add esp, 4
push eax
lea edx, [ebp - 0x6750]
push edx
call fcn.00407e10
add esp, 8
push 0x65
call fcn.004036e5
add esp, 4
push eax
lea eax, [ebp - 0x6750]
push eax
call fcn.00407e10
add esp, 8
push 0x63
call fcn.004036e5
add esp, 4
push eax
lea ecx, [ebp - 0x6750]
push ecx
call fcn.00407e10
add esp, 8
push 0x3d
call fcn.004036e5
add esp, 4
push eax
lea edx, [ebp - 0x6750]
push edx
call fcn.00407e10
add esp, 8
push 0x417f44
push 0x414b40
call fcn.00407e00
add esp, 8
push 0x30
call fcn.004036e5
add esp, 4
push eax
push 0x2f
call fcn.004036e5
add esp, 4
push eax
push 0x20
call fcn.004036e5
add esp, 4
push eax
push 0x54
call fcn.004036e5
add esp, 4
push eax
push 0x46
call fcn.004036e5
add esp, 4
push eax
push 0x49
call fcn.004036e5
add esp, 4
push eax
push 0x48
call fcn.004036e5
add esp, 4
push eax
push 0x53
call fcn.004036e5
add esp, 4
push eax
push 0x4110f4
lea eax, [ebp - 0x6874]
push eax
call fcn.00407ef0
add esp, 0x28
push 0xa
call fcn.004036e5
add esp, 4
push eax
push 0xd
call fcn.004036e5
add esp, 4
push eax
lea ecx, [ebp - 0x6874]
push ecx
push 0xa
call fcn.004036e5
add esp, 4
push eax
push 0xd
call fcn.004036e5
add esp, 4
push eax
lea edx, [ebp - 0x104]
push edx
lea eax, [ebp - 0x6750]
push eax
push 0xa
call fcn.004036e5
add esp, 4
push eax
push 0xd
call fcn.004036e5
add esp, 4
push eax
lea ecx, [ebp - 0x685c]
push ecx
push 0xa
call fcn.004036e5
add esp, 4
push eax
push 0xd
call fcn.004036e5
add esp, 4
push eax
lea edx, [ebp - 0x208]
push edx
push 0xa
call fcn.004036e5
add esp, 4
push eax
push 0xd
call fcn.004036e5
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 0x414b40
call fcn.00407ef0
add esp, 0x48
push 0x412228
push 0x20
call fcn.004036e5
add esp, 4
push eax
push 0x6c
call fcn.004036e5
add esp, 4
push eax
push 0x65
call fcn.004036e5
add esp, 4
push eax
push 0x64
call fcn.004036e5
add esp, 4
push eax
push 0x411138
lea eax, [ebp - 0x490]
push eax
call fcn.00407ef0
add esp, 0x1c
push 0x22
call fcn.004036e5
add esp, 4
push eax
push 0x415310
push 0x22
call fcn.004036e5
add esp, 4
push eax
push 0x20
call fcn.004036e5
add esp, 4
push eax
push 0x412228
push str._s_s_s_s_s
push 0x412228
call fcn.00407ef0
add esp, 0x1c
cmp dword [ebp + 8], 1
jle 0x401da5
mov dword [ebp - 0x6758], 1
jmp 0x401c3e
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 0x401d81
mov dword [ebp - 0x6884], 0
mov dword [ebp - 0x6860], 1
jmp 0x401c75
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.00407f50
add esp, 4
add eax, 1
cmp dword [ebp - 0x6860], eax
jae 0x401cd7
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.004037a5
add esp, 0xc
push eax
call fcn.00403741
add esp, 4
mov dword [ebp - 0x6880], eax
cmp dword [ebp - 0x6880], 0x20
jne 0x401cd5
mov dword [ebp - 0x6884], 1
jmp 0x401c66
cmp dword [ebp - 0x6884], 1
jne 0x401d47
cmp dword [ebp - 0x6758], 1
jle 0x401cfb
push 0x411150
push 0x4135b0
call fcn.00407e10
add esp, 8
push 0x22
call fcn.004036e5
add esp, 4
push eax
push 0x4135b0
call fcn.00407e10
add esp, 8
mov edx, dword [ebp - 0x6758]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
push ecx
push 0x4135b0
call fcn.00407e10
add esp, 8
push 0x22
call fcn.004036e5
add esp, 4
push eax
push 0x4135b0
call fcn.00407e10
add esp, 8
jmp 0x401d7c
cmp dword [ebp - 0x6758], 1
jle 0x401d62
push 0x411154
push 0x4135b0
call fcn.00407e10
add esp, 8
mov edx, dword [ebp - 0x6758]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
push ecx
push 0x4135b0
call fcn.00407e10
add esp, 8
jmp 0x401c2f
push 0x411158
push 0x412228
call fcn.00407e10
add esp, 8
push 0x4135b0
push 0x412228
call fcn.00407e10
add esp, 8
call fcn.00401e62
push 0x412228
call fcn.00407d66
add esp, 4
mov dword [0x412220], eax
cmp dword [0x41221c], 1
jne 0x401e0d
mov dword [ebp - 0x6758], 0
jmp 0x401de0
mov edx, dword [ebp - 0x6758]
add edx, 1
mov dword [ebp - 0x6758], edx
mov eax, dword [0x412224]
sub eax, 2
cmp dword [ebp - 0x6758], eax
jge 0x401e0d
mov ecx, dword [ebp - 0x6758]
imul ecx, ecx, 0x3e8
add ecx, 0x586580
push ecx
call fcn.00407d66
add esp, 4
jmp 0x401dd1
mov edx, dword [0x412224]
sub edx, 2
mov dword [ebp - 0x6758], edx
jmp 0x401e2d
mov eax, dword [ebp - 0x6758]
add eax, 1
mov dword [ebp - 0x6758], eax
mov ecx, dword [ebp - 0x6758]
cmp ecx, dword [0x412224]
jge 0x401e58
mov edx, dword [ebp - 0x6758]
imul edx, edx, 0x3e8
add edx, 0x586580
push edx
call fcn.00407d66
add esp, 4
jmp 0x401e1e
mov eax, dword [0x412220]
pop edi
mov esp, ebp
pop ebp
ret