Function at 0x409276
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x34
push ebx
push esi
push edi
mov dword [ebp - 8], 0
mov dword [ebp - 0x34], 0
mov dword [0x5ac750], 0
jmp 0x4092a2
inc dword [0x5ac750]
cmp dword [0x5ac750], 0x3000
jge 0x4092c3
mov eax, dword [0x5ac750]
mov byte [eax + 0x5ac760], 0
jmp 0x40929c
push 0x200
push 0x5afb80
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
push 0x4a5044
push 0x5afb80
call fcn.0041e940
add esp, 8
push 0x5b2fc0
push 0x5ac760
push 0x5afb80
call fcn.0040c4c3
add esp, 0xc
cmp eax, 0xffffffff
jne 0x40930f
mov eax, 0xffffffff
jmp 0x40952d
mov ax, word [0x5b2fc0]
mov word [ebp - 0x30], ax
push 0x5afd86
mov ax, word [0x5b2fc0]
push eax
push 0x5ac760
push 0x4a5050
call fcn.00409e88
add esp, 0x10
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
je 0x40934b
mov dword [ebp - 0x34], 1
push 0x5afd86
mov ax, word [0x5b2fc0]
push eax
push 0x5ac760
push 0x4a5060
call fcn.00409e88
add esp, 0x10
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
je 0x40950b
or dword [ebp - 8], 1
push 0x5afd86
mov ax, word [0x5b2fc0]
push eax
push 0x5ac760
push 0x4a506c
call fcn.00409e88
add esp, 0x10
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jne 0x4093ae
or dword [ebp - 8], 2
jmp 0x409506
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0xc], eax
inc dword [ebp - 0x20]
push 0x4a5074
call fcn.0041e7b0
add esp, 4
push eax
push 0x4a507c
mov eax, dword [ebp - 0x20]
push eax
call fcn.0041f560
add esp, 0xc
test eax, eax
jne 0x4093b4
push 0x4a5084
call fcn.0041e7b0
add esp, 4
inc eax
add dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], 0
mov eax, dword [ebp - 0x20]
mov al, byte [eax]
mov ecx, dword [ebp - 0x1c]
mov byte [ebp + ecx - 0x18], al
inc dword [ebp - 0x20]
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
xor ecx, ecx
mov cl, byte [eax]
cmp ecx, 0xd
jne 0x4093f6
mov eax, dword [ebp - 0x1c]
mov byte [ebp + eax - 0x18], 0
lea eax, [ebp - 0x18]
push eax
push 0x5b2fd0
call fcn.0041e930
add esp, 8
push 0x4a508c
lea eax, [ebp - 0x18]
push eax
call fcn.0041efd0
add esp, 8
test eax, eax
jge 0x40945d
cmp dword [ebp - 0x34], 1
jne 0x409458
or dword [ebp - 8], 2
jmp 0x409506
push 0x4a5094
lea eax, [ebp - 0x18]
push eax
call fcn.0041efd0
add esp, 8
test eax, eax
jg 0x40947f
or dword [ebp - 8], 2
jmp 0x409506
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x20], eax
inc dword [ebp - 0x20]
push 0x4a509c
call fcn.0041e7b0
add esp, 4
push eax
push 0x4a50a4
mov eax, dword [ebp - 0x20]
push eax
call fcn.0041f560
add esp, 0xc
test eax, eax
jne 0x409485
push 0x4a50ac
call fcn.0041e7b0
add esp, 4
inc eax
add dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], 0
mov eax, dword [ebp - 0x20]
mov al, byte [eax]
mov ecx, dword [ebp - 0x1c]
mov byte [ebp + ecx - 0x2c], al
inc dword [ebp - 0x20]
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
xor ecx, ecx
mov cl, byte [eax]
cmp ecx, 0xd
jne 0x4094c7
lea eax, [ebp - 0x2c]
push eax
call fcn.0041ebc9
add esp, 4
mov dword [ebp - 4], eax
test byte [ebp - 4], 2
je 0x409506
or dword [ebp - 8], 2
jmp 0x409525
cmp dword [ebp - 0x34], 1
jne 0x40951e
or dword [ebp - 8], 2
jmp 0x409525
mov dword [ebp - 8], 0
mov eax, dword [ebp - 8]
jmp 0x40952d
pop edi
pop esi
pop ebx
leave
ret