Function at 0x416d32
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x234
push esi
push edi
push 0x1884
xor edi, edi
push edi
push 0x8206d8
call sub.msvcrt.dll_memset
push 0x4192bc
push 0x821f68
call fcn.00402b54
mov esi, eax
add esp, 0x14
cmp esi, 0xffffffff
jne 0x416d6f
xor eax, eax
jmp 0x417256
push ebx
push esi
call fcn.00402c17
cmp edx, edi
pop ecx
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], edx
jl 0x416d91
jg 0x416d8a
cmp eax, 0x100000
jbe 0x416d91
mov ebx, 0x100000
jmp 0x416d93
mov ebx, eax
push ebx
call dword [sym.imp.msvcrt.dll_malloc]
pop ecx
mov dword [ebp - 4], eax
cmp eax, edi
jne 0x416daf
push esi
call fcn.00402bc3
push 7
jmp 0x416ef1
push edi
push edi
push 0xc350
push esi
call fcn.00402bd4
push ebx
push dword [ebp - 4]
push esi
call fcn.00402c90
lea ebx, [eax - 0x12]
add esp, 0x1c
cmp ebx, edi
mov dword [ebp - 8], edi
jle 0x416e10
mov edi, dword [ebp - 4]
push 6
push str.SQ5SFX
push edi
call fcn.00401074
add esp, 0xc
test eax, eax
je 0x416e07
cmp dword [edi + 6], 0x1b0ce
jne 0x416e07
cmp dword [edi + 0xa], 5
jb 0x416e07
mov eax, dword [edi + 0xe]
test eax, eax
jbe 0x416e07
cmp eax, 0x10000
jb 0x416e23
inc dword [ebp - 8]
inc edi
cmp dword [ebp - 8], ebx
jl 0x416dd6
push esi
call fcn.00402bc3
push dword [ebp - 4]
call dword [sym.imp.msvcrt.dll_free]
push 0xffffffffffffffff
jmp 0x416e71
lea eax, [ebp - 0x124]
push eax
mov ebx, 0x110
push ebx
call dword [sym.imp.KERNEL32.DLL_GetTempPathA]
push ebx
lea eax, [ebp - 0x124]
push eax
push str..cx
push eax
call fcn.00403381
lea eax, [ebp - 0x124]
push eax
call fcn.00403445
add esp, 0x14
mov dword [ebp - 0xc], eax
cmp eax, 0xffffffff
jne 0x416e7e
push esi
call fcn.00402bc3
push dword [ebp - 4]
call dword [sym.imp.msvcrt.dll_free]
push 5
call fcn.00416cbd
add esp, 0xc
jmp 0x417255
mov eax, dword [ebp - 8]
push 0
add eax, 0xc362
push 0
push eax
push esi
call fcn.00402bd4
mov edi, dword [edi + 0xe]
add esp, 0x10
test edi, edi
jbe 0x416ec5
mov eax, 0x100000
cmp edi, eax
ja 0x416ea6
mov eax, edi
push eax
push dword [ebp - 4]
push esi
call fcn.00402c90
mov ebx, eax
push ebx
push dword [ebp - 4]
push dword [ebp - 0xc]
call fcn.00402cbb
add esp, 0x18
sub edi, ebx
jne 0x416e9b
push dword [ebp - 0xc]
call fcn.00402bc3
push dword [ebp - 4]
call dword [sym.imp.msvcrt.dll_free]
lea eax, [ebp - 0x124]
push eax
call fcn.00416532
add esp, 0xc
test eax, eax
jne 0x416efd
push esi
call fcn.00402bc3
push 0xfffffffffffffffe
call fcn.00416cbd
pop ecx
pop ecx
jmp 0x417255
lea eax, [ebp - 0x124]
push eax
call fcn.00402ce6
push 4
pop ebx
push ebx
push 0x8206d8
push esi
call fcn.00402c90
push ebx
push 0x8206dc
push esi
call fcn.00402c90
push ebx
push 0x8206e0
push esi
call fcn.00402c90
push ebx
push 0x8206e4
push esi
call fcn.00402c90
mov eax, dword [0x8206e4]
add esp, 0x34
mov edi, 0xff
test eax, eax
jbe 0x416f67
cmp eax, edi
jbe 0x416f58
mov eax, edi
mov dword [0x8206e4], eax
push eax
push 0x8206e8
push esi
call fcn.00402c90
add esp, 0xc
push ebx
push 0x8207e8
push esi
call fcn.00402c90
mov eax, dword [0x8207e8]
add esp, 0xc
test eax, eax
jbe 0x416f9e
mov ecx, 0xfff
cmp eax, ecx
jbe 0x416f8f
mov eax, ecx
mov dword [0x8207e8], eax
push eax
push 0x8207ec
push esi
call fcn.00402c90
add esp, 0xc
push ebx
push 0x8217ec
push esi
call fcn.00402c90
push ebx
push 0x8217f0
push esi
call fcn.00402c90
mov eax, dword [0x8217f0]
add esp, 0x18
test eax, eax
jbe 0x416fdc
cmp eax, edi
jbe 0x416fcd
mov eax, edi
mov dword [0x8217f0], eax
push eax
push 0x8217f4
push esi
call fcn.00402c90
add esp, 0xc
push ebx
push 0x8218f4
push esi
call fcn.00402c90
mov eax, dword [0x8218f4]
add esp, 0xc
test eax, eax
jbe 0x41700e
cmp eax, edi
jbe 0x416fff
mov eax, edi
mov dword [0x8218f4], eax
push eax
push 0x8218f8
push esi
call fcn.00402c90
add esp, 0xc
push ebx
push 0x821a08
push esi
call fcn.00402c90
mov eax, dword [0x821a08]
add esp, 0xc
test eax, eax
jbe 0x417040
cmp eax, edi
jbe 0x417031
mov eax, edi
mov dword [0x821a08], eax
push eax
push 0x821a0c
push esi
call fcn.00402c90
add esp, 0xc
push ebx
push 0x821b1c
push esi
call fcn.00402c90
push ebx
push 0x821b20
push esi
call fcn.00402c90
push ebx
push 0x821b24
push esi
call fcn.00402c90
mov eax, dword [0x821b24]
add esp, 0x24
test eax, eax
jbe 0x41708a
cmp eax, edi
jbe 0x41707b
mov eax, edi
mov dword [0x821b24], eax
push eax
push 0x821b28
push esi
call fcn.00402c90
add esp, 0xc
push ebx
push 0x821c28
push esi
call fcn.00402c90
mov eax, dword [0x821c28]
add esp, 0xc
test eax, eax
jbe 0x4170bc
cmp eax, edi
jbe 0x4170ad
mov eax, edi
mov dword [0x821c28], eax
push eax
push 0x821c2c
push esi
call fcn.00402c90
add esp, 0xc
push ebx
push 0x821d3c
push esi
call fcn.00402c90
mov eax, dword [0x821d3c]
add esp, 0xc
test eax, eax
jbe 0x4170ee
cmp eax, edi
jbe 0x4170df
mov eax, edi
mov dword [0x821d3c], eax
push eax
push 0x821d40
push esi
call fcn.00402c90
add esp, 0xc
push ebx
push 0x821e50
push esi
call fcn.00402c90
mov eax, dword [0x821e50]
add esp, 0xc
test eax, eax
jbe 0x417120
cmp eax, edi
jbe 0x417111
mov eax, edi
mov dword [0x821e50], eax
push eax
push 0x821e54
push esi
call fcn.00402c90
add esp, 0xc
push ebx
push 0x821f54
push esi
call fcn.00402c90
push ebx
push 0x821f58
push esi
call fcn.00402c90
push esi
call fcn.00402bc3
xor ebx, ebx
add esp, 0x1c
cmp dword [ebp - 0x10], ebx
jg 0x41715d
jl 0x417153
cmp dword [ebp - 0x14], 0x1000000
ja 0x41715d
mov dword [0x822bb8], 1
mov eax, dword [0x8206d8]
cmp eax, 2
jne 0x4171b3
mov esi, 0x110
push esi
push 0x822078
mov edi, 0x821c2c
push edi
call fcn.00416c80
add esp, 0xc
cmp dword [0x821d3c], ebx
jne 0x417199
push edi
push esi
push 0x821d40
call fcn.004018bd
jmp 0x417236
push esi
lea eax, [ebp - 0x234]
push eax
push 0x821d40
call fcn.00416c80
add esp, 0xc
jmp 0x417236
cmp eax, ebx
jne 0x417240
mov edi, 0x110
push edi
push 0x822078
push 0x821a0c
call fcn.00416c80
push edi
lea eax, [ebp - 0x234]
push eax
mov esi, 0x8218f8
push esi
mov byte [ebp - 0x234], 0
call fcn.00415fc8
add esp, 0x18
test eax, eax
je 0x417253
cmp byte [ebp - 0x234], 0
je 0x417208
lea eax, [ebp - 0x234]
push eax
push edi
push esi
call fcn.004018bd
cmp byte [0x8218f8], 0
jne 0x417226
push edi
push esi
push 0x821f68
call fcn.0040326c
push esi
call fcn.00402f07
add esp, 0x10
cmp dword [0x821b1c], ebx
jne 0x417236
cmp dword [0x821b20], ebx
je 0x417240
mov dword [0x822bb0], 1
cmp byte [0x8207ec], 0
je 0x417253
mov dword [0x822bc0], 1
xor eax, eax
pop ebx
pop edi
pop esi
leave
ret