Function at 0x40710f
Capabilities:
Get common file path

Disassembly:
push 0x260
push 0x402478
call fcn.0041b130
mov eax, dword [0x4233cc]
mov dword [ebp - 0x1c], eax
xor eax, eax
xor ebx, ebx
cmp dword [ebp + 8], ebx
sete al
mov dword [ebp - 0x268], eax
cmp dword [ebp + 8], ebx
je 0x40735e
mov dword [ebp - 4], ebx
mov eax, dword [0x4235fc]
mov eax, dword [eax*4 + 0x423004]
cmp eax, ebx
je 0x407161
push eax
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
inc dword [0x4235fc]
jmp 0x407142
call fcn.00407058
mov dword [0x4235ec], eax
call fcn.00406dcd
test eax, eax
jne 0x407182
or dword [0x423014], 4
or dword [0x423600], 4
push 1
call fcn.004168eb
call fcn.00406eac
mov dword [0x4235c4], eax
call fcn.00406f0f
mov dword [0x4235c8], eax
call fcn.00407009
mov dword [0x4235cc], eax
cmp eax, ebx
je 0x407325
mov esi, 0x104
push esi
lea eax, [ebp - 0x264]
push eax
call dword [0x424bc8]
mov dword [ebp - 0x26c], eax
cmp eax, ebx
je 0x407325
cmp eax, esi
ja 0x407325
lea edi, [ebp + eax*2 - 0x264]
mov dword [ebp - 0x270], edi
lea eax, [ebp - 0x264]
push eax
call fcn.0041a3e9
mov dword [0x4235d0], eax
cmp eax, ebx
je 0x407325
mov word [edi], bx
push ebx
push esi
push 0x40246c
lea eax, [ebp - 0x264]
push eax
call fcn.0041a5b7
test eax, eax
je 0x407325
lea eax, [ebp - 0x264]
push eax
call fcn.0041a3e9
mov dword [0x4235d4], eax
cmp eax, ebx
je 0x407325
mov word [edi], bx
push ebx
push esi
push 0x40245c
lea eax, [ebp - 0x264]
push eax
call fcn.0041a5b7
test eax, eax
je 0x407325
lea eax, [ebp - 0x264]
push eax
call fcn.0041a3e9
mov dword [0x4235d8], eax
cmp eax, ebx
je 0x407325
push esi
lea eax, [ebp - 0x264]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
mov dword [ebp - 0x26c], eax
cmp eax, ebx
je 0x407325
cmp eax, esi
ja 0x407325
lea edi, [ebp + eax*2 - 0x264]
mov dword [ebp - 0x270], edi
lea eax, [ebp - 0x264]
push eax
call fcn.0041a3e9
mov dword [0x4235dc], eax
cmp eax, ebx
je 0x407325
mov word [edi], bx
push ebx
push esi
push 0x40244c
lea eax, [ebp - 0x264]
push eax
call fcn.0041a5b7
test eax, eax
je 0x407325
lea eax, [ebp - 0x264]
push eax
call fcn.0041a3e9
mov dword [0x4235e0], eax
cmp eax, ebx
je 0x407325
call fcn.00406e0d
mov dword [0x4235e4], eax
cmp eax, ebx
je 0x407325
push 0x47
pop ecx
xor eax, eax
mov edx, 0x424c40
mov edi, edx
rep stosd dword es:[edi], eax
mov dword [0x424c40], 0x11c
push edx
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
je 0x407325
cmp dword [0x424c50], 2
jne 0x407325
mov dword [ebp - 0x268], 1
or dword [ebp - 4], 0xffffffff
jmp 0x407338
cmp dword [ebp - 0x268], ebx
jne 0x40742f
jmp 0x40735e
dec dword [0x4235fc]
mov eax, dword [0x4235fc]
push dword [eax*4 + 0x423004]
call dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
cmp dword [0x4235fc], ebx
jne 0x407346
dec dword [0x4235fc]
mov eax, dword [0x4235e4]
cmp eax, ebx
je 0x407381
push eax
call fcn.0041a398
mov dword [0x4235e4], ebx
mov eax, dword [0x4235dc]
cmp eax, ebx
je 0x4073ab
push eax
call fcn.0041a398
mov dword [0x4235dc], ebx
mov eax, dword [0x4235e0]
cmp eax, ebx
je 0x4073ab
push eax
call fcn.0041a398
mov dword [0x4235e0], ebx
mov eax, dword [0x4235d0]
cmp eax, ebx
je 0x4073ea
push eax
call fcn.0041a398
mov dword [0x4235d0], ebx
mov eax, dword [0x4235d4]
cmp eax, ebx
je 0x4073d5
push eax
call fcn.0041a398
mov dword [0x4235d4], ebx
mov eax, dword [0x4235d8]
cmp eax, ebx
je 0x4073ea
push eax
call fcn.0041a398
mov dword [0x4235d8], ebx
mov eax, dword [0x4235cc]
cmp eax, ebx
je 0x4073ff
push eax
call fcn.0041a398
mov dword [0x4235cc], ebx
mov eax, dword [0x4235c4]
cmp eax, ebx
je 0x407414
push eax
call fcn.0041a398
mov dword [0x4235c4], ebx
mov eax, dword [0x4235c8]
cmp eax, ebx
je 0x407429
push eax
call fcn.0041a398
mov dword [0x4235c8], ebx
push ebx
call fcn.004168eb
mov eax, dword [ebp - 0x268]
mov ecx, dword [ebp - 0x1c]
call fcn.00419835
call fcn.0041b16b
ret 4