Function at 0x40dc10
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x174
push ebx
push esi
push edi
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0xf
mov byte [ebp - 0x38], 0
call fcn.0041a3d3
cmp dword [ebp + 0x7c], 0x10
lea esi, [ebp + 0x68]
mov edi, eax
lea eax, [ebp - 4]
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 - 4]
je 0x40e426
cmp dword [edi], 0x22
je 0x40e453
cmp eax, 3
ja case.default.0x40dc70
jmp dword [eax*4 + 0x40e464]
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 - 0x20]
call fcn.0040c830
add esp, 0x60
lea ecx, [ebp - 0x38]
push eax
call fcn.00414610
mov edx, dword [ebp - 0xc]
cmp edx, 0x10
jb case.default.0x40dc70
mov ecx, dword [ebp - 0x20]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40deae
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e430
jmp 0x40deae
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 - 0x170]
mov esi, esp
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
lea ecx, [ebp - 0x170]
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 0x40dd57
sub ecx, edx
lea eax, [ebp - 0x170]
push ecx
push eax
mov ecx, esi
call fcn.00414b30
lea ecx, [ebp - 0x20]
call fcn.0040c830
add esp, 0x60
lea ecx, [ebp - 0x38]
push eax
call fcn.00414610
mov edx, dword [ebp - 0xc]
cmp edx, 0x10
jb case.default.0x40dc70
mov ecx, dword [ebp - 0x20]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40deae
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e435
jmp 0x40deae
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 - 0x20]
call fcn.0040c830
add esp, 0x60
lea ecx, [ebp - 0x38]
push eax
call fcn.00414610
mov edx, dword [ebp - 0xc]
cmp edx, 0x10
jb case.default.0x40dc70
mov ecx, dword [ebp - 0x20]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40deae
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e43a
jmp 0x40deae
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 - 0x20]
call fcn.0040c830
add esp, 0x60
lea ecx, [ebp - 0x38]
push eax
call fcn.00414610
mov edx, dword [ebp - 0xc]
cmp edx, 0x10
jb case.default.0x40dc70
mov ecx, dword [ebp - 0x20]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40deae
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e43f
push edx
push ecx
call fcn.00415fcc
add esp, 8
sub esp, 0x18
lea eax, [ebp - 0x38]
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 - 0x24], 0x10
lea eax, [ebp - 0x38]
push 0x43c10c
cmovae eax, dword [ebp - 0x38]
push eax
call fcn.004197f6
add esp, 0x38
test eax, eax
je 0x40e0ed
push eax
call fcn.00419884
add esp, 4
lea eax, [ebp - 0x38]
lea ecx, [ebp - 0x20]
push eax
call fcn.004147b0
cmp dword [ebp - 0xc], 0x10
lea ecx, [ebp - 0x68]
lea eax, [ebp - 0x20]
cmovae eax, dword [ebp - 0x20]
push ecx
push eax
call fcn.0041a34f
mov edx, dword [ebp - 0xc]
or ebx, 0xffffffff
add esp, 8
test eax, eax
cmove ebx, dword [ebp - 0x54]
cmp edx, 0x10
jb 0x40df64
mov ecx, dword [ebp - 0x20]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40df5a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e444
push edx
push ecx
call fcn.00415fcc
add esp, 8
mov dword [ebp - 0x10], 0
mov dword [ebp - 0xc], 0xf
mov byte [ebp - 0x20], 0
call fcn.0041a3d3
cmp dword [ebp + 0xc4], 0x10
lea esi, [ebp + 0xb0]
mov edi, eax
lea eax, [ebp - 4]
cmovae esi, dword [ebp + 0xb0]
push 0xa
push eax
push esi
mov dword [edi], 0
call fcn.0041b909
add esp, 0xc
cmp esi, dword [ebp - 4]
je 0x40e449
cmp dword [edi], 0x22
je 0x40e453
cmp ebx, eax
jle 0x40e0ed
sub esp, 0x18
mov ecx, esp
push 0
push 0x43b4fb
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov byte [ecx], 0
call fcn.00414b30
sub esp, 0x18
lea eax, [ebp - 0x38]
mov ecx, esp
push eax
call fcn.004147b0
sub esp, 0x18
lea eax, [ebp + 0x80]
mov ecx, esp
push eax
call fcn.004147b0
call fcn.00404390
add esp, 0x48
sub esp, 0x18
mov esi, esp
sub esp, 0x18
cmp dword [0x441750], 0x2a
mov ecx, esp
jne 0x40e0e6
push 0x43fde8
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
add esp, 0x78
lea eax, [ebp + 0xc8]
cmp dword [ebp + 0xdc], 0x10
cmovae eax, dword [ebp + 0xc8]
cmp dword [ebp + 0xd8], 1
jne 0x40e146
cmp byte [eax], 0x31
jne 0x40e146
sub esp, 0x18
lea eax, [ebp - 0x38]
mov ecx, esp
push eax
call fcn.004147b0
sub esp, 0x18
lea eax, [ebp - 0x38]
mov esi, esp
sub esp, 0x18
mov ecx, esp
push eax
call fcn.004147b0
mov ecx, esi
call fcn.00405310
mov esi, esp
sub esp, 0x18
mov ecx, esp
push 0x43f950
call fcn.004147b0
mov ecx, esi
call fcn.00402fb0
add esp, 0x18
call fcn.004031f0
add esp, 0x48
jmp 0x40e146
push 0x4405f8
jmp 0x40e0fc
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
add esp, 0x78
mov edx, dword [ebp - 0x24]
cmp edx, 0x10
jb 0x40e17a
mov ecx, dword [ebp - 0x38]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40e170
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e45d
push edx
push ecx
call fcn.00415fcc
add esp, 8
mov edx, dword [ebp + 0x1c]
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0xf
mov byte [ebp - 0x38], 0
cmp edx, 0x10
jb 0x40e1c0
mov ecx, dword [ebp + 8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40e1b6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e45d
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 0x40e206
mov ecx, dword [ebp + 0x20]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40e1fc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e45d
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 0x40e24c
mov ecx, dword [ebp + 0x38]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40e242
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e45d
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 0x40e292
mov ecx, dword [ebp + 0x50]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40e288
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e45d
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 0x40e2d8
mov ecx, dword [ebp + 0x68]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40e2ce
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e45d
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 0x40e324
mov ecx, dword [ebp + 0x80]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40e31a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e45d
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 0x40e379
mov ecx, dword [ebp + 0x98]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40e36f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e45d
push edx
push ecx
call fcn.00415fcc
add esp, 8
mov edx, dword [ebp + 0xc4]
mov dword [ebp + 0xa8], 0
mov dword [ebp + 0xac], 0xf
mov byte [ebp + 0x98], 0
cmp edx, 0x10
jb 0x40e3ce
mov ecx, dword [ebp + 0xb0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40e3c4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e45d
push edx
push ecx
call fcn.00415fcc
add esp, 8
mov edx, dword [ebp + 0xdc]
mov dword [ebp + 0xc0], 0
mov dword [ebp + 0xc4], 0xf
mov byte [ebp + 0xb0], 0
cmp edx, 0x10
jb 0x40e41f
mov ecx, dword [ebp + 0xc8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40e415
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e45d
push edx
push ecx
call fcn.00415fcc
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.invalid_stoi_argument
call fcn.00415719
call fcn.0041bb2d
call fcn.0041bb2d
call fcn.0041bb2d
call fcn.0041bb2d
add byte [eax], al
call fcn.0041bb2d
push str.invalid_stoi_argument
call fcn.00415719
push str.stoi_argument_out_of_range
call fcn.00415759
call fcn.0041bb2d
nop
ja 0x40e442
inc eax
add cl, bh
fadd qword [eax]
mov edx, 0x390040dd
fiadd word [eax]
int3