Function at 0x4070df
Capabilities:
Get common file path

Disassembly:
push 0x260
push 0x402478
call fcn.0041ae80
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 0x40732e
mov dword [ebp - 4], ebx
mov eax, dword [0x4235fc]
mov eax, dword [eax*4 + 0x423004]
cmp eax, ebx
je 0x407131
push eax
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
inc dword [0x4235fc]
jmp 0x407112
call fcn.00407028
mov dword [0x4235ec], eax
call fcn.00406d9d
test eax, eax
jne 0x407152
or dword [0x423014], 4
or dword [0x423600], 4
push 1
call fcn.004168bb
call fcn.00406e7c
mov dword [0x4235c4], eax
call fcn.00406edf
mov dword [0x4235c8], eax
call fcn.00406fd9
mov dword [0x4235cc], eax
cmp eax, ebx
je 0x4072f5
mov esi, 0x104
push esi
lea eax, [ebp - 0x264]
push eax
call dword [0x424bc8]
mov dword [ebp - 0x26c], eax
cmp eax, ebx
je 0x4072f5
cmp eax, esi
ja 0x4072f5
lea edi, [ebp + eax*2 - 0x264]
mov dword [ebp - 0x270], edi
lea eax, [ebp - 0x264]
push eax
call fcn.0041a138
mov dword [0x4235d0], eax
cmp eax, ebx
je 0x4072f5
mov word [edi], bx
push ebx
push esi
push 0x40246c
lea eax, [ebp - 0x264]
push eax
call fcn.0041a306
test eax, eax
je 0x4072f5
lea eax, [ebp - 0x264]
push eax
call fcn.0041a138
mov dword [0x4235d4], eax
cmp eax, ebx
je 0x4072f5
mov word [edi], bx
push ebx
push esi
push 0x40245c
lea eax, [ebp - 0x264]
push eax
call fcn.0041a306
test eax, eax
je 0x4072f5
lea eax, [ebp - 0x264]
push eax
call fcn.0041a138
mov dword [0x4235d8], eax
cmp eax, ebx
je 0x4072f5
push esi
lea eax, [ebp - 0x264]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
mov dword [ebp - 0x26c], eax
cmp eax, ebx
je 0x4072f5
cmp eax, esi
ja 0x4072f5
lea edi, [ebp + eax*2 - 0x264]
mov dword [ebp - 0x270], edi
lea eax, [ebp - 0x264]
push eax
call fcn.0041a138
mov dword [0x4235dc], eax
cmp eax, ebx
je 0x4072f5
mov word [edi], bx
push ebx
push esi
push 0x40244c
lea eax, [ebp - 0x264]
push eax
call fcn.0041a306
test eax, eax
je 0x4072f5
lea eax, [ebp - 0x264]
push eax
call fcn.0041a138
mov dword [0x4235e0], eax
cmp eax, ebx
je 0x4072f5
call fcn.00406ddd
mov dword [0x4235e4], eax
cmp eax, ebx
je 0x4072f5
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 0x4072f5
cmp dword [0x424c50], 2
jne 0x4072f5
mov dword [ebp - 0x268], 1
or dword [ebp - 4], 0xffffffff
jmp 0x407308
cmp dword [ebp - 0x268], ebx
jne 0x4073ff
jmp 0x40732e
dec dword [0x4235fc]
mov eax, dword [0x4235fc]
push dword [eax*4 + 0x423004]
call dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
cmp dword [0x4235fc], ebx
jne 0x407316
dec dword [0x4235fc]
mov eax, dword [0x4235e4]
cmp eax, ebx
je 0x407351
push eax
call fcn.0041a0e7
mov dword [0x4235e4], ebx
mov eax, dword [0x4235dc]
cmp eax, ebx
je 0x40737b
push eax
call fcn.0041a0e7
mov dword [0x4235dc], ebx
mov eax, dword [0x4235e0]
cmp eax, ebx
je 0x40737b
push eax
call fcn.0041a0e7
mov dword [0x4235e0], ebx
mov eax, dword [0x4235d0]
cmp eax, ebx
je 0x4073ba
push eax
call fcn.0041a0e7
mov dword [0x4235d0], ebx
mov eax, dword [0x4235d4]
cmp eax, ebx
je 0x4073a5
push eax
call fcn.0041a0e7
mov dword [0x4235d4], ebx
mov eax, dword [0x4235d8]
cmp eax, ebx
je 0x4073ba
push eax
call fcn.0041a0e7
mov dword [0x4235d8], ebx
mov eax, dword [0x4235cc]
cmp eax, ebx
je 0x4073cf
push eax
call fcn.0041a0e7
mov dword [0x4235cc], ebx
mov eax, dword [0x4235c4]
cmp eax, ebx
je 0x4073e4
push eax
call fcn.0041a0e7
mov dword [0x4235c4], ebx
mov eax, dword [0x4235c8]
cmp eax, ebx
je 0x4073f9
push eax
call fcn.0041a0e7
mov dword [0x4235c8], ebx
push ebx
call fcn.004168bb
mov eax, dword [ebp - 0x268]
mov ecx, dword [ebp - 0x1c]
call fcn.00419805
call fcn.0041aebb
ret 4