Function at 0x7b4734
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x2b
push 0
push 0
dec ecx
jne 0x7b473d
push ecx
xchg dword [ebp - 4], ecx
push ebx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov byte [ebp - 1], al
mov eax, dword [ebp - 8]
call fcn.00405738
xor eax, eax
push ebp
push 0x7b4b35
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 0xd], 0
lea eax, [ebp - 0x28]
mov edx, 0x7b4b50
call fcn.00405310
lea eax, [ebp - 0x20]
mov edx, 0x7b4b60
call fcn.00405310
lea eax, [ebp - 0x14]
push eax
mov eax, dword [0x7d629c]
call fcn.00405548
mov ecx, eax
mov edx, 2
mov eax, dword [0x7d629c]
call fcn.004057a8
mov edx, dword [ebp - 8]
mov eax, 0x7b4b74
call fcn.0040588c
test eax, eax
jle 0x7b47c3
lea eax, [ebp - 0x28]
mov edx, 0x7b4b88
call fcn.00405310
mov edx, dword [ebp - 8]
mov eax, 0x7b4b94
call fcn.0040588c
test eax, eax
jle 0x7b47e1
lea eax, [ebp - 0x28]
mov edx, 0x7b4ba8
call fcn.00405310
mov edx, dword [ebp - 8]
mov eax, 0x7b4bb8
call fcn.0040588c
test eax, eax
jle 0x7b47ff
lea eax, [ebp - 0x28]
mov edx, 0x7b4bcc
call fcn.00405310
mov edx, dword [ebp - 8]
mov eax, 0x7b4bdc
call fcn.0040588c
test eax, eax
jle 0x7b4839
lea eax, [ebp - 0x24]
mov edx, 0x7b4bf0
call fcn.00405310
mov edx, dword [ebp - 0x24]
mov eax, dword [0x12ceb2c]
call fcn.00444818
test al, al
je 0x7b4839
lea eax, [ebp - 0x20]
mov edx, dword [ebp - 0x24]
call fcn.00405310
lea edx, [ebp - 0x18]
mov eax, dword [ebp + 0xc]
call fcn.00511ca4
mov edx, dword [ebp - 0x18]
mov eax, 0x7b4c08
call fcn.0040588c
test eax, eax
jle 0x7b48cb
lea eax, [ebp - 0x24]
mov edx, 0x7b4c14
call fcn.00405310
mov edx, dword [ebp - 0x24]
mov eax, dword [0x12ceb2c]
call fcn.00444818
test al, al
je 0x7b48cb
lea eax, [ebp - 0x20]
mov edx, dword [ebp - 0x24]
call fcn.00405310
imul eax, dword [ebp + 0xc], 0x651
mov edx, dword [0x7d6be0]
cmp byte [edx + eax*2], 0
jne 0x7b48cb
mov eax, dword [0x7d71ec]
mov edx, dword [ebp + 0xc]
cmp dword [eax + edx*4], 0x88b8
jge 0x7b48cb
lea eax, [ebp - 0x24]
mov edx, 0x7b4c28
call fcn.00405310
mov edx, dword [ebp - 0x24]
mov eax, dword [0x12ceb2c]
call fcn.00444818
test al, al
je 0x7b48cb
lea eax, [ebp - 0x20]
mov edx, dword [ebp - 0x24]
call fcn.00405310
push 0x104
lea eax, [ebp - 0x131]
push eax
call sub.kernel32.dll_GetWindowsDirectoryA
lea edx, [ebp - 0x18]
lea eax, [ebp - 0x131]
call fcn.0040b624
lea edx, [ebp - 0x138]
mov eax, dword [ebp - 0x18]
call fcn.0040a0f8
mov eax, dword [ebp - 0x138]
push eax
mov al, byte [ebp - 1]
call fcn.00402cc4
mov edx, eax
lea eax, [ebp - 0x140]
mov byte [eax + 1], dl
mov byte [eax], 1
lea edx, [ebp - 0x140]
lea eax, [ebp - 0x144]
call fcn.004032b0
mov edx, 0x7b4c34
lea eax, [ebp - 0x144]
mov cl, 2
call fcn.00403280
lea edx, [ebp - 0x144]
lea eax, [ebp - 0x13c]
call fcn.004054ec
mov eax, dword [ebp - 0x13c]
pop edx
call fcn.0040588c
dec eax
jne 0x7b4981
lea eax, [ebp - 0x24]
mov edx, 0x7b4c40
call fcn.00405310
mov edx, dword [ebp - 0x24]
mov eax, dword [0x12ceb2c]
call fcn.00444818
test al, al
je 0x7b4981
lea eax, [ebp - 0x20]
mov edx, dword [ebp - 0x24]
call fcn.00405310
push 0x7b4c54
lea eax, [ebp - 0x148]
push eax
mov ecx, 0x7b4c60
mov edx, dword [ebp - 0x20]
mov eax, dword [0x12ceb2c]
mov ebx, dword [eax]
call dword [ebx]
mov eax, dword [ebp - 0x148]
lea edx, [ebp - 0x2c]
call fcn.0040a0f8
mov eax, dword [ebp - 0x2c]
mov edx, 0x7b4c54
call fcn.00405694
jne 0x7b4a85
cmp byte [ebp + 8], 0
je 0x7b49d4
lea eax, [ebp - 0x1c]
mov edx, 0x7b4c70
call fcn.00405310
jmp 0x7b49e4
lea ecx, [ebp - 0x1c]
mov edx, 2
mov eax, dword [ebp - 0xc]
call fcn.004a09d4
push 0
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x14c]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x28]
call fcn.00405594
mov ecx, dword [ebp - 0x14c]
mov edx, dword [ebp - 0x20]
mov eax, dword [0x12ceb2c]
mov ebx, dword [eax]
call dword [ebx]
cmp dword [ebp - 0x18], 0
jne 0x7b4a56
mov eax, dword [ebp - 0x1c]
call fcn.00405548
cmp eax, 2
jne 0x7b4a56
lea eax, [ebp - 0x1c]
mov edx, 0x7b4c70
call fcn.00405310
push 0
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x150]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x28]
call fcn.00405594
mov ecx, dword [ebp - 0x150]
mov edx, dword [ebp - 0x20]
mov eax, dword [0x12ceb2c]
mov ebx, dword [eax]
call dword [ebx]
cmp dword [ebp - 0x18], 0
je 0x7b4af2
lea ecx, [ebp - 0x154]
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
call fcn.0049d0c8
mov edx, dword [ebp - 0x154]
mov al, byte [ebp - 1]
call fcn.005c8fa8
mov byte [ebp - 0xd], 1
jmp 0x7b4af2
push 0
lea eax, [ebp - 0x18]
push eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x20]
mov eax, dword [0x12ceb2c]
mov ebx, dword [eax]
call dword [ebx]
cmp dword [ebp - 0x18], 0
je 0x7b4af2
lea ecx, [ebp - 0x15c]
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
call fcn.0049d0c8
push dword [ebp - 0x15c]
push 0x7b4c80
lea edx, [ebp - 0x160]
mov eax, dword [ebp - 0xc]
call fcn.0040a83c
push dword [ebp - 0x160]
lea eax, [ebp - 0x158]
mov edx, 3
call fcn.00405608
mov edx, dword [ebp - 0x158]
mov al, byte [ebp - 1]
call fcn.005c8fa8
mov byte [ebp - 0xd], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x7b4b3c
lea eax, [ebp - 0x160]
mov edx, 7
call fcn.0040529c
lea eax, [ebp - 0x13c]
mov edx, 2
call fcn.0040529c
lea eax, [ebp - 0x2c]
mov edx, 7
call fcn.0040529c
lea eax, [ebp - 8]
call fcn.00405278
ret