Function at 0x433870
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4518a6
mov eax, dword fs:[0]
push eax
sub esp, 0xcc8
mov eax, dword [0x46d45c]
xor eax, ebp
mov dword [ebp - 0x14], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
lea ecx, [ebp - 0x81c]
call fcn.00402160
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x828]
call fcn.00402160
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x10]
call fcn.00402160
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x82c]
call fcn.00402160
mov byte [ebp - 4], 3
mov dword [ebp - 0x830], 0
lea ecx, [ebp - 0x820]
call fcn.00402160
mov byte [ebp - 4], 4
push 0x208
lea eax, [ebp - 0xc44]
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
movzx ecx, byte [ebp + 0x10]
test ecx, ecx
jne 0x433920
push str.AutorunsDisabled.ini
lea edx, [ebp - 0xc44]
push edx
call fcn.004387b2
add esp, 8
jmp 0x433934
push str.win.ini
lea eax, [ebp - 0xc44]
push eax
call fcn.004387b2
add esp, 8
cmp dword [0x46f680], 0
je 0x433aac
cmp dword [ebp + 0xc], 0xffffffff
jne 0x433aac
push 0
lea ecx, [ebp - 0xc70]
call fcn.00402190
mov byte [ebp - 4], 5
push 0
lea ecx, [ebp - 0xc74]
call fcn.00402190
mov byte [ebp - 4], 6
push 0
lea ecx, [ebp - 0xc78]
call fcn.00402190
mov byte [ebp - 4], 7
push 0
lea ecx, [ebp - 0xc7c]
call fcn.00402190
mov byte [ebp - 4], 8
push 0
lea ecx, [ebp - 0xc80]
call fcn.00402190
mov byte [ebp - 4], 9
push 0
lea ecx, [ebp - 0xc84]
call fcn.00402190
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0xc44]
push ecx
lea ecx, [ebp - 0xc88]
call fcn.00402190
mov byte [ebp - 4], 0xb
lea edx, [ebp - 0xc44]
push edx
lea ecx, [ebp - 0xc8c]
call fcn.00402190
mov byte [ebp - 4], 0xc
push 0xffffffffffffffff
push 0
push 0
lea eax, [ebp - 0xc70]
push eax
push 1
lea ecx, [ebp - 0xc74]
push ecx
lea edx, [ebp - 0xc78]
push edx
lea eax, [ebp - 0xc7c]
push eax
lea ecx, [ebp - 0xc80]
push ecx
lea edx, [ebp - 0xc84]
push edx
lea eax, [ebp - 0xc88]
push eax
lea ecx, [ebp - 0xc8c]
push ecx
push 0
mov edx, dword [ebp + 0xc]
push edx
push 2
mov eax, dword [ebp + 8]
push eax
call fcn.0040c020
add esp, 0x40
mov dword [ebp + 0xc], eax
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0xc8c]
call fcn.004021c0
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0xc88]
call fcn.004021c0
mov byte [ebp - 4], 9
lea ecx, [ebp - 0xc84]
call fcn.004021c0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0xc80]
call fcn.004021c0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0xc7c]
call fcn.004021c0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xc78]
call fcn.004021c0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0xc74]
call fcn.004021c0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0xc70]
call fcn.004021c0
push 0x45e890
lea ecx, [ebp - 0xc44]
push ecx
call fcn.0043add2
add esp, 8
mov dword [ebp - 0x818], eax
cmp dword [ebp - 0x818], 0
jne 0x433b2e
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0xc90], edx
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x820]
call fcn.004021c0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x82c]
call fcn.004021c0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x10]
call fcn.004021c0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x828]
call fcn.004021c0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x81c]
call fcn.004021c0
mov eax, dword [ebp - 0xc90]
jmp 0x434070
mov eax, dword [ebp - 0x818]
push eax
push 0x400
lea ecx, [ebp - 0x814]
push ecx
call fcn.0043ac4b
add esp, 0xc
test eax, eax
je 0x434007
movzx edx, word [ebp - 0x814]
cmp edx, 0x5b
jne 0x433b85
push 9
push str._windows_
lea eax, [ebp - 0x814]
push eax
call fcn.00439558
add esp, 0xc
neg eax
sbb eax, eax
add eax, 1
mov dword [ebp - 0x830], eax
jmp 0x434002
cmp dword [ebp - 0x830], 0
je 0x434002
push 5
push str.load
lea ecx, [ebp - 0x814]
push ecx
call fcn.00439558
add esp, 0xc
test eax, eax
jne 0x433bba
lea edx, [ebp - 0x80a]
mov dword [ebp - 0xc48], edx
jmp 0x433bec
push 4
push str.run
lea eax, [ebp - 0x814]
push eax
call fcn.00439558
add esp, 0xc
test eax, eax
jne 0x433be2
lea ecx, [ebp - 0x80c]
mov dword [ebp - 0xc48], ecx
jmp 0x433bec
mov dword [ebp - 0xc48], 0
cmp dword [ebp - 0xc48], 0
je 0x434002
push 0
mov edx, dword [ebp - 0xc48]
push edx
call fcn.00416790
add esp, 8
mov dword [ebp - 0xc4c], eax
mov eax, dword [ebp - 0xc4c]
cmp eax, dword [ebp - 0xc48]
jbe 0x433c51
mov ecx, dword [ebp - 0xc4c]
movzx edx, word [ecx - 2]
push edx
call fcn.0043926d
add esp, 4
test eax, eax
je 0x433c51
mov eax, dword [ebp - 0xc4c]
sub eax, 2
mov dword [ebp - 0xc4c], eax
xor ecx, ecx
mov edx, dword [ebp - 0xc4c]
mov word [edx], cx
jmp 0x433c10
lea ecx, [ebp - 0xc64]
call fcn.00403750
mov byte [ebp - 4], 0xd
push 0
lea eax, [ebp - 0xc64]
push eax
push 0x2c
mov ecx, dword [ebp - 0xc48]
push ecx
call fcn.0040d350
add esp, 0x10
mov dword [ebp - 0xc68], 0
jmp 0x433c95
mov edx, dword [ebp - 0xc68]
add edx, 1
mov dword [ebp - 0xc68], edx
lea ecx, [ebp - 0xc64]
call fcn.00403820
cmp dword [ebp - 0xc68], eax
jae 0x433ff3
mov eax, dword [ebp - 0xc68]
push eax
lea ecx, [ebp - 0xc64]
call fcn.00403840
mov dword [ebp - 0xc6c], eax
mov ecx, dword [ebp - 0xc6c]
push ecx
lea ecx, [ebp - 0x82c]
call fcn.00402240
push 0
mov edx, dword [ebp - 0xc6c]
push edx
lea eax, [ebp - 0xc94]
push eax
call fcn.00408fc0
add esp, 0xc
mov dword [ebp - 0xcd0], eax
mov ecx, dword [ebp - 0xcd0]
mov dword [ebp - 0xcd4], ecx
mov byte [ebp - 4], 0xe
mov edx, dword [ebp - 0xcd4]
push edx
lea ecx, [ebp - 0x10]
call fcn.00402240
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0xc94]
call fcn.004021c0
lea ecx, [ebp - 0x10]
call fcn.00402270
movzx eax, word [eax]
test eax, eax
je 0x433fee
lea ecx, [ebp - 0x828]
push ecx
lea edx, [ebp - 0x81c]
push edx
lea ecx, [ebp - 0x10]
call fcn.00402270
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.00409fb0
add esp, 0x10
mov dword [ebp - 0x824], eax
mov ecx, dword [ebp - 0xc48]
push ecx
lea ecx, [ebp - 0xc9c]
call fcn.00402190
mov byte [ebp - 4], 0xf
lea edx, [ebp - 0x820]
push edx
lea eax, [ebp - 0x81c]
push eax
lea ecx, [ebp - 0x10]
push ecx
lea edx, [ebp - 0xc9c]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.0040b960
add esp, 0x14
mov byte [ebp - 0xc95], al
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0xc9c]
call fcn.004021c0
movzx ecx, byte [ebp - 0xc95]
test ecx, ecx
je 0x433fee
cmp dword [ebp + 0xc], 0xffffffff
jne 0x433f2b
push 0
lea ecx, [ebp - 0xca0]
call fcn.00402190
mov byte [ebp - 4], 0x10
push 0
lea ecx, [ebp - 0xca4]
call fcn.00402190
mov byte [ebp - 4], 0x11
push 0
lea ecx, [ebp - 0xca8]
call fcn.00402190
mov byte [ebp - 4], 0x12
push 0
lea ecx, [ebp - 0xcac]
call fcn.00402190
mov byte [ebp - 4], 0x13
push 0
lea ecx, [ebp - 0xcb0]
call fcn.00402190
mov byte [ebp - 4], 0x14
push 0
lea ecx, [ebp - 0xcb4]
call fcn.00402190
mov byte [ebp - 4], 0x15
lea edx, [ebp - 0xc44]
push edx
lea ecx, [ebp - 0xcb8]
call fcn.00402190
mov byte [ebp - 4], 0x16
lea eax, [ebp - 0xc44]
push eax
lea ecx, [ebp - 0xcbc]
call fcn.00402190
mov byte [ebp - 4], 0x17
push 0xffffffffffffffff
push 0
push 0
lea ecx, [ebp - 0xca0]
push ecx
movzx edx, byte [ebp + 0x10]
push edx
lea eax, [ebp - 0xca4]
push eax
lea ecx, [ebp - 0xca8]
push ecx
lea edx, [ebp - 0xcac]
push edx
lea eax, [ebp - 0xcb0]
push eax
lea ecx, [ebp - 0xcb4]
push ecx
lea edx, [ebp - 0xcb8]
push edx
lea eax, [ebp - 0xcbc]
push eax
push 0
mov ecx, dword [ebp + 0xc]
push ecx
push 2
mov edx, dword [ebp + 8]
push edx
call fcn.0040c020
add esp, 0x40
mov dword [ebp + 0xc], eax
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0xcbc]
call fcn.004021c0
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0xcb8]
call fcn.004021c0
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0xcb4]
call fcn.004021c0
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0xcb0]
call fcn.004021c0
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0xcac]
call fcn.004021c0
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0xca8]
call fcn.004021c0
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0xca4]
call fcn.004021c0
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0xca0]
call fcn.004021c0
push 0
lea ecx, [ebp - 0xcc0]
call fcn.00402190
mov byte [ebp - 4], 0x18
lea eax, [ebp - 0xc44]
push eax
lea ecx, [ebp - 0xcc4]
call fcn.00402190
mov byte [ebp - 4], 0x19
mov ecx, dword [ebp - 0xc48]
push ecx
lea ecx, [ebp - 0xcc8]
call fcn.00402190
mov byte [ebp - 4], 0x1a
push 0xffffffffffffffff
push 0
push 0
lea edx, [ebp - 0xcc0]
push edx
movzx eax, byte [ebp + 0x10]
push eax
lea ecx, [ebp - 0x82c]
push ecx
lea edx, [ebp - 0x820]
push edx
lea eax, [ebp - 0x828]
push eax
lea ecx, [ebp - 0x81c]
push ecx
lea edx, [ebp - 0x10]
push edx
lea eax, [ebp - 0xcc4]
push eax
lea ecx, [ebp - 0xcc8]
push ecx
push 4
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp - 0x824]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.0040c020
add esp, 0x40
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0xcc8]
call fcn.004021c0
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0xcc4]
call fcn.004021c0
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0xcc0]
call fcn.004021c0
jmp 0x433c86
mov byte [ebp - 4], 4
lea ecx, [ebp - 0xc64]
call fcn.004037c0
jmp 0x433b2e
mov edx, dword [ebp - 0x818]
push edx
call fcn.0043abcf
add esp, 4
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0xccc], eax
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x820]
call fcn.004021c0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x82c]
call fcn.004021c0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x10]
call fcn.004021c0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x828]
call fcn.004021c0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x81c]
call fcn.004021c0
mov eax, dword [ebp - 0xccc]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004376f1
mov esp, ebp
pop ebp
ret