Function at 0x40e480
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x140
push esi
push edi
mov dword [ebp - 8], 0
mov dword [ebp - 4], 0xf
mov byte [ebp - 0x18], 0
call fcn.0041a3d3
cmp dword [ebp + 0x7c], 0x10
lea esi, [ebp + 0x68]
mov edi, eax
lea eax, [ebp - 0x1c]
cmovae esi, dword [ebp + 0x68]
push 0xa
push eax
push esi
mov dword [edi], 0
call fcn.0041b909
add esp, 0xc
cmp esi, dword [ebp - 0x1c]
je 0x40ea24
cmp dword [edi], 0x22
je 0x40ea1a
cmp eax, 3
ja case.default.0x40e4df
jmp dword [eax*4 + 0x40ea48]
sub esp, 0x18
lea eax, [ebp + 0x98]
mov ecx, esp
push eax
call fcn.004147b0
sub esp, 0x18
lea eax, [ebp + 0x38]
mov ecx, esp
push eax
call fcn.004147b0
sub esp, 0x18
lea eax, [ebp + 0x50]
mov ecx, esp
push eax
call fcn.004147b0
sub esp, 0x18
mov ecx, esp
call fcn.004057f0
lea ecx, [ebp - 0x34]
call fcn.0040c830
add esp, 0x60
lea ecx, [ebp - 0x18]
push eax
call fcn.00414610
mov edx, dword [ebp - 0x20]
cmp edx, 0x10
jb case.default.0x40e4df
mov ecx, dword [ebp - 0x34]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40e71d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ea2e
jmp 0x40e71d
sub esp, 0x18
lea eax, [ebp + 0x98]
mov ecx, esp
push eax
call fcn.004147b0
sub esp, 0x18
lea eax, [ebp + 0x38]
mov ecx, esp
push eax
call fcn.004147b0
sub esp, 0x18
lea eax, [ebp + 0x50]
mov ecx, esp
push eax
call fcn.004147b0
sub esp, 0x18
lea eax, [ebp - 0x140]
mov esi, esp
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
lea ecx, [ebp - 0x140]
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
lea edx, [ecx + 1]
mov byte [esi], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40e5c6
sub ecx, edx
lea eax, [ebp - 0x140]
push ecx
push eax
mov ecx, esi
call fcn.00414b30
lea ecx, [ebp - 0x34]
call fcn.0040c830
add esp, 0x60
lea ecx, [ebp - 0x18]
push eax
call fcn.00414610
mov edx, dword [ebp - 0x20]
cmp edx, 0x10
jb case.default.0x40e4df
mov ecx, dword [ebp - 0x34]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40e71d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ea33
jmp 0x40e71d
sub esp, 0x18
lea eax, [ebp + 0x98]
mov ecx, esp
push eax
call fcn.004147b0
sub esp, 0x18
lea eax, [ebp + 0x38]
mov ecx, esp
push eax
call fcn.004147b0
sub esp, 0x18
lea eax, [ebp + 0x50]
mov ecx, esp
push eax
call fcn.004147b0
sub esp, 0x18
mov ecx, esp
call fcn.004059f0
lea ecx, [ebp - 0x34]
call fcn.0040c830
add esp, 0x60
lea ecx, [ebp - 0x18]
push eax
call fcn.00414610
mov edx, dword [ebp - 0x20]
cmp edx, 0x10
jb case.default.0x40e4df
mov ecx, dword [ebp - 0x34]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40e71d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ea38
jmp 0x40e71d
sub esp, 0x18
lea eax, [ebp + 0x98]
mov ecx, esp
push eax
call fcn.004147b0
sub esp, 0x18
lea eax, [ebp + 0x38]
mov ecx, esp
push eax
call fcn.004147b0
sub esp, 0x18
lea eax, [ebp + 0x50]
mov ecx, esp
push eax
call fcn.004147b0
sub esp, 0x18
mov ecx, esp
call fcn.004058f0
lea ecx, [ebp - 0x34]
call fcn.0040c830
add esp, 0x60
lea ecx, [ebp - 0x18]
push eax
call fcn.00414610
mov edx, dword [ebp - 0x20]
cmp edx, 0x10
jb case.default.0x40e4df
mov ecx, dword [ebp - 0x34]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40e71d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ea3d
push edx
push ecx
call fcn.00415fcc
add esp, 8
sub esp, 0x18
lea eax, [ebp - 0x18]
mov ecx, esp
push eax
call fcn.004147b0
sub esp, 0x18
lea eax, [ebp + 0x38]
mov ecx, esp
push eax
call fcn.004147b0
call fcn.00408b60
cmp dword [ebp - 4], 0x10
lea eax, [ebp - 0x18]
push 0x43c10c
cmovae eax, dword [ebp - 0x18]
push eax
call fcn.004197f6
add esp, 0x38
test eax, eax
je 0x40e78c
push eax
call fcn.00419884
sub esp, 0x14
lea eax, [ebp - 0x18]
mov ecx, esp
push eax
call fcn.004147b0
call fcn.004047d0
mov esi, esp
sub esp, 0x18
mov ecx, esp
push 0x43fde8
jmp 0x40e79b
sub esp, 0x18
mov esi, esp
sub esp, 0x18
mov ecx, esp
push 0x440418
call fcn.004147b0
mov ecx, esi
call fcn.00402fb0
mov ecx, esp
push 0x43fd70
call fcn.004147b0
sub esp, 0x18
lea eax, [ebp + 0x50]
mov ecx, esp
push eax
call fcn.004147b0
sub esp, 0x18
lea eax, [ebp + 0x20]
mov ecx, esp
push eax
call fcn.004147b0
sub esp, 0x18
lea eax, [ebp + 8]
mov ecx, esp
push eax
call fcn.004147b0
call fcn.0040c310
mov edx, dword [ebp - 4]
add esp, 0x78
cmp edx, 0x10
jb 0x40e819
mov ecx, dword [ebp - 0x18]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40e80f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ea42
push edx
push ecx
call fcn.00415fcc
add esp, 8
mov edx, dword [ebp + 0x1c]
mov dword [ebp - 8], 0
mov dword [ebp - 4], 0xf
mov byte [ebp - 0x18], 0
cmp edx, 0x10
jb 0x40e85f
mov ecx, dword [ebp + 8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40e855
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ea42
push edx
push ecx
call fcn.00415fcc
add esp, 8
mov edx, dword [ebp + 0x34]
mov dword [ebp + 0x18], 0
mov dword [ebp + 0x1c], 0xf
mov byte [ebp + 8], 0
cmp edx, 0x10
jb 0x40e8a5
mov ecx, dword [ebp + 0x20]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40e89b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ea42
push edx
push ecx
call fcn.00415fcc
add esp, 8
mov edx, dword [ebp + 0x4c]
mov dword [ebp + 0x30], 0
mov dword [ebp + 0x34], 0xf
mov byte [ebp + 0x20], 0
cmp edx, 0x10
jb 0x40e8eb
mov ecx, dword [ebp + 0x38]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40e8e1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ea42
push edx
push ecx
call fcn.00415fcc
add esp, 8
mov edx, dword [ebp + 0x64]
mov dword [ebp + 0x48], 0
mov dword [ebp + 0x4c], 0xf
mov byte [ebp + 0x38], 0
cmp edx, 0x10
jb 0x40e931
mov ecx, dword [ebp + 0x50]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40e927
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ea42
push edx
push ecx
call fcn.00415fcc
add esp, 8
mov edx, dword [ebp + 0x7c]
mov dword [ebp + 0x60], 0
mov dword [ebp + 0x64], 0xf
mov byte [ebp + 0x50], 0
cmp edx, 0x10
jb 0x40e977
mov ecx, dword [ebp + 0x68]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40e96d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ea42
push edx
push ecx
call fcn.00415fcc
add esp, 8
mov edx, dword [ebp + 0x94]
mov dword [ebp + 0x78], 0
mov dword [ebp + 0x7c], 0xf
mov byte [ebp + 0x68], 0
cmp edx, 0x10
jb 0x40e9c3
mov ecx, dword [ebp + 0x80]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40e9b9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ea42
push edx
push ecx
call fcn.00415fcc
add esp, 8
mov edx, dword [ebp + 0xac]
mov dword [ebp + 0x90], 0
mov dword [ebp + 0x94], 0xf
mov byte [ebp + 0x80], 0
cmp edx, 0x10
jb 0x40ea14
mov ecx, dword [ebp + 0x98]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40ea0a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ea42
push edx
push ecx
call fcn.00415fcc
add esp, 8
pop edi
pop esi
mov esp, ebp
pop ebp
ret
push str.stoi_argument_out_of_range
call fcn.00415759
push str.invalid_stoi_argument
call fcn.00415719
call fcn.0041bb2d
call fcn.0041bb2d
call fcn.0041bb2d
call fcn.0041bb2d
call fcn.0041bb2d
nop
out 0xe4, al
inc eax
add byte [eax - 0x1b], ch
inc eax
add byte [ecx], ch
out 0x40, al
add byte [eax - 0x33ffbf1a], ch
int3