Function at 0x409420
Capabilities:
Get file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x455010
push 0x43063c
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x2e4
push ebx
push esi
push edi
xor edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x28], edi
cmp dword [0x49bbb0], edi
jne 0x4097e2
cmp dword [0x468130], 0xffffffff
jne 0x4097e2
mov eax, dword [0x4a1d24]
cmp eax, edi
jne 0x409491
push str.QueryActCtxW
push 0x4a1d3c
push 0x454fb0
call fcn.004098c0
mov dword [0x4a1d24], eax
cmp eax, edi
jne 0x409491
xor eax, eax
jmp 0x4094a7
push edi
push 8
lea ecx, [ebp - 0x24]
push ecx
push 1
push edi
push 0x468130
push 0x80000010
call eax
cmp eax, edi
je 0x4097e9
mov eax, dword [ebp - 0x24]
cmp eax, edi
jne 0x409677
push str.GetModuleHandleExW
push 0x4a1d3c
push 0x454fb0
call fcn.004098c0
cmp eax, edi
je 0x4097e9
lea edx, [ebp - 0x2c]
push edx
push 0x468130
push 6
call eax
test eax, eax
je 0x4097e9
mov word [ebp - 0x2e], di
mov word [ebp - 0x30], di
push 0x105
lea eax, [ebp - 0x238]
push eax
mov ecx, dword [ebp - 0x2c]
push ecx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
cmp eax, edi
je 0x4097e9
cmp word [ebp - 0x30], di
je 0x409533
push 0x6f
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [ebp - 0x260], 0x20
mov dword [ebp - 0x25c], 0x88
lea edx, [ebp - 0x238]
mov dword [ebp - 0x258], edx
mov dword [ebp - 0x24c], 3
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x244], eax
mov eax, dword [0x4a1d28]
cmp eax, edi
jne 0x409629
xor esi, esi
cmp dword [0x4a1d34], edi
jne 0x4095af
call dword [sym.imp.KERNEL32.dll_GetVersion]
test eax, 0x80000000
je 0x4095a5
push str.___.___
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
push str.Unicows.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [0x4a1d38], eax
mov dword [0x4a1d34], 1
mov eax, dword [0x4a1d38]
cmp eax, edi
je 0x4095ce
push str.CreateActCtxW
push eax
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
call ebx
mov esi, eax
cmp esi, edi
jne 0x409619
jmp 0x4095d4
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov eax, dword [0x4a1d3c]
cmp eax, edi
jne 0x40960f
call dword [sym.imp.KERNEL32.dll_GetVersion]
test eax, 0x80000000
je 0x4095f9
mov ecx, dword [str.Kernel32.dll]
push ecx
call dword [0x454fb0]
jmp 0x409606
mov edx, dword [0x454fbc]
push edx
call dword [0x454fb4]
cmp eax, edi
je 0x409619
mov dword [0x4a1d3c], eax
push str.CreateActCtxW
push eax
call ebx
mov esi, eax
mov eax, esi
mov dword [0x4a1d28], eax
cmp esi, edi
jne 0x40962f
or eax, 0xffffffff
jmp 0x409638
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
lea ecx, [ebp - 0x260]
push ecx
call eax
mov dword [ebp - 0x24], eax
cmp eax, 0xffffffff
jne 0x40966b
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x714
je 0x409666
cmp eax, 0x715
je 0x409666
cmp eax, 0x717
je 0x409666
cmp eax, 0x716
jne 0x4097e9
xor eax, eax
mov dword [ebp - 0x24], eax
mov dword [0x49bbac], 1
jmp 0x40967d
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x468130], eax
mov esi, eax
mov eax, dword [0x4a1d30]
cmp eax, edi
jne 0x4096ae
push str.ActivateActCtx
push 0x4a1d3c
push 0x454fb0
call fcn.004098c0
mov dword [0x4a1d30], eax
cmp eax, edi
jne 0x4096ae
xor eax, eax
jmp 0x4096b5
lea edx, [ebp - 0x28]
push edx
push esi
call eax
cmp eax, edi
je 0x4097e2
xor edi, edi
mov dword [ebp - 4], edi
mov dword [ebp - 0x2a4], 0x40
mov dword [ebp - 0x2d0], edi
mov eax, dword [0x4a1d2c]
cmp eax, edi
jne 0x4097a9
xor esi, esi
mov dword [ebp - 0x2d4], esi
cmp dword [0x4a1d34], edi
jne 0x409721
call dword [sym.imp.KERNEL32.dll_GetVersion]
test eax, 0x80000000
je 0x409717
push str.___.___
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
push str.Unicows.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [0x4a1d38], eax
mov dword [0x4a1d34], 1
mov eax, dword [0x4a1d38]
cmp eax, edi
je 0x40973e
push str.FindActCtxSectionStringW
push eax
call ebx
mov esi, eax
mov dword [ebp - 0x2d4], esi
cmp esi, edi
jne 0x409794
mov eax, dword [0x4a1d3c]
mov dword [ebp - 0x2d8], eax
cmp eax, edi
jne 0x409784
call dword [sym.imp.KERNEL32.dll_GetVersion]
test eax, 0x80000000
je 0x409768
mov eax, dword [str.Kernel32.dll]
push eax
call dword [0x454fb0]
jmp 0x409775
mov ecx, dword [0x454fbc]
push ecx
call dword [0x454fb4]
mov dword [ebp - 0x2d8], eax
cmp eax, edi
je 0x409794
mov dword [0x4a1d3c], eax
push str.FindActCtxSectionStringW
push eax
call ebx
mov esi, eax
mov dword [ebp - 0x2d4], esi
mov dword [ebp - 0x2dc], esi
mov eax, esi
mov dword [0x4a1d2c], eax
cmp esi, edi
jne 0x4097a9
xor eax, eax
jmp 0x4097c1
lea edx, [ebp - 0x2a4]
push edx
push str.Comctl32.dll
push 2
push edi
push edi
call eax
mov dword [ebp - 0x2d0], eax
mov dword [ebp - 0x2e0], eax
cmp eax, edi
je 0x4097d6
push str.Comctl32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [ebp - 4], 0xffffffff
call fcn.00409803
mov dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret