Function at 0x406754
Capabilities:
Get file attributes

Disassembly:
mov eax, 0x409f54
call fcn.00409900
sub esp, 0x220
push ebx
push esi
push edi
call dword [sym.imp.USER32.dll_CreateMenu]
mov esi, dword [sym.imp.USER32.dll_CreatePopupMenu]
mov dword [ebp - 0x20], eax
call esi
mov dword [ebp - 0x14], eax
call esi
mov dword [ebp - 0x28], eax
call esi
mov dword [ebp - 0x24], eax
call esi
mov dword [ebp - 0x10], eax
call esi
push 1
mov dword [ebp - 0x2c], eax
call fcn.00404623
pop ecx
push eax
lea ecx, [ebp - 0x18]
call fcn.004010d5
push dword [ebp - 0x18]
mov esi, dword [sym.imp.USER32.dll_AppendMenuW]
xor ebx, ebx
push dword [ebp - 0x14]
mov dword [ebp - 4], ebx
push 0x10
push dword [ebp - 0x20]
call esi
mov dword [ebp - 0x1c], 0xa028
mov edi, 0xa031
mov eax, dword [ebp - 0x1c]
add eax, 0xffff5ff7
push eax
call fcn.00404623
pop ecx
push eax
push dword [ebp - 0x1c]
push ebx
push dword [ebp - 0x10]
call esi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x4067c4
push 0x32
call fcn.00404623
pop ecx
push eax
push edi
push ebx
push dword [ebp - 0x10]
call esi
push 0x34
call fcn.00404623
pop ecx
push eax
push 0xa032
push ebx
push dword [ebp - 0x10]
call esi
push 0xe
call fcn.00404623
mov edi, dword [ebp - 0x2c]
pop ecx
push eax
push edi
push 0x10
push dword [ebp - 0x20]
call esi
push 0xe
call fcn.00404623
pop ecx
push eax
push 0x68
push ebx
push edi
call esi
push 0x412938
push 0x791b
push ebx
push edi
call esi
push ebx
push ebx
push 0xc00
push dword [ebp - 0x24]
call esi
push 0xf
call fcn.00404623
pop ecx
push eax
push 0x8006
push ebx
push edi
call esi
push 0x412934
push ebx
push 3
push dword [ebp - 0x20]
call esi
push 2
call fcn.00404623
mov edi, dword [ebp - 0x14]
pop ecx
push eax
push 0x8008
push ebx
push edi
call esi
push 3
call fcn.00404623
pop ecx
push eax
push 0x800e
push ebx
push edi
call esi
push 4
call fcn.00404623
pop ecx
push eax
push 0x8007
push ebx
push edi
call esi
push 5
call fcn.00404623
pop ecx
push eax
push 0x800b
push ebx
push edi
call esi
push 0x33
call fcn.00404623
pop ecx
push eax
push 0x80e9
push ebx
push edi
call esi
push 6
call fcn.00404623
pop ecx
push eax
push 0x800c
push ebx
push edi
call esi
push ebx
mov edi, 0x800
push ebx
push edi
push dword [ebp - 0x14]
call esi
push 0x40
call fcn.00404623
pop ecx
push eax
push 0x791a
push ebx
push dword [ebp - 0x14]
call esi
push ebx
push ebx
push edi
push dword [ebp - 0x14]
call esi
call dword [sym.imp.USER32.dll_CreateMenu]
push 0x41
mov dword [ebp - 0x1c], eax
call fcn.00404623
pop ecx
push eax
push dword [ebp - 0x1c]
push 0x10
push dword [ebp - 0x14]
call esi
push 0x42
call fcn.00404623
pop ecx
push eax
push 0x8016
push ebx
push dword [ebp - 0x1c]
call esi
push 0x43
call fcn.00404623
pop ecx
push eax
push 0x8016
push ebx
push dword [ebp - 0x1c]
call esi
push ebx
push 0x8016
push edi
push dword [ebp - 0x1c]
call esi
push 0x44
call fcn.00404623
pop ecx
push eax
push 0x8017
push ebx
push dword [ebp - 0x1c]
call esi
push ebx
push ebx
push edi
push dword [ebp - 0x14]
call esi
push str._LNG
lea ecx, [ebp - 0x18]
call fcn.0040124a
push dword [ebp - 0x18]
push dword [ebp - 0x24]
push 0x10
push dword [ebp - 0x14]
call esi
push 0x45
call fcn.00404623
pop ecx
push eax
push 0xc744
push ebx
push dword [ebp - 0x14]
call esi
push 0x1e
call fcn.00404623
pop ecx
push eax
lea ecx, [ebp - 0x18]
call fcn.0040122c
push dword [ebp - 0x18]
push dword [ebp - 0x10]
push 0x10
push dword [ebp - 0x14]
call esi
push ebx
push ebx
push edi
push dword [ebp - 0x14]
call esi
push 9
call fcn.00404623
pop ecx
push eax
push 0x8015
push ebx
push dword [ebp - 0x14]
call esi
push ebx
push ebx
push edi
push dword [ebp - 0x14]
call esi
push 0x46
call fcn.00404623
pop ecx
push eax
push 0xc745
push ebx
push dword [ebp - 0x14]
call esi
push ebx
push ebx
push edi
push dword [ebp - 0x14]
call esi
push ebx
push 0x32
call dword [sym.imp.USER32.dll_GetSystemMetrics]
push eax
push 0x31
call dword [sym.imp.USER32.dll_GetSystemMetrics]
push eax
push 1
push 0x9a
push dword [0x41f1b0]
call dword [sym.imp.USER32.dll_LoadImageW]
push ebx
push eax
call fcn.004065c3
pop ecx
push eax
push ebx
push 0xc745
push dword [ebp - 0x14]
call fcn.00406565
push 8
call fcn.00404623
add esp, 0x18
lea ecx, [ebp - 0x18]
push eax
call fcn.0040122c
push 0x412928
lea ecx, [ebp - 0x10]
call fcn.0040112d
lea eax, [ebp - 0x10]
lea ecx, [ebp - 0x18]
push eax
mov byte [ebp - 4], 1
call fcn.0040128e
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], bl
call fcn.004019d7
push 0x412924
lea ecx, [ebp - 0x10]
call fcn.0040112d
lea eax, [ebp - 0x10]
lea ecx, [ebp - 0x18]
push eax
mov byte [ebp - 4], 2
call fcn.0040128e
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], bl
call fcn.004019d7
push dword [ebp - 0x18]
push 0x8012
push ebx
push dword [ebp - 0x14]
call esi
push ebx
push ebx
push edi
push dword [ebp - 0x14]
call esi
push 7
call fcn.00404623
pop ecx
push eax
push 0x69
push ebx
push dword [ebp - 0x14]
call esi
push ebx
push 0x1c
call fcn.004066ba
pop ecx
pop ecx
push ebx
push eax
call fcn.004065c3
pop ecx
push eax
push ebx
push 0x69
push dword [ebp - 0x14]
call fcn.00406565
push 0xa
call fcn.00404623
add esp, 0x18
lea ecx, [ebp - 0x18]
push eax
call fcn.0040122c
push 0x412920
lea ecx, [ebp - 0x10]
call fcn.0040112d
lea eax, [ebp - 0x10]
lea ecx, [ebp - 0x18]
push eax
mov byte [ebp - 4], 3
call fcn.0040128e
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x10]
call fcn.004019d7
push str.__F5_
lea ecx, [ebp - 0x10]
call fcn.0040112d
lea eax, [ebp - 0x10]
lea ecx, [ebp - 0x18]
push eax
mov byte [ebp - 4], 4
call fcn.0040128e
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], bl
call fcn.004019d7
push dword [ebp - 0x18]
push 0x8013
push ebx
push dword [ebp - 0x20]
call esi
push 0xb
call fcn.00404623
pop ecx
push eax
lea ecx, [ebp - 0x18]
call fcn.0040122c
push 0x412920
lea ecx, [ebp - 0x10]
call fcn.0040112d
lea eax, [ebp - 0x10]
lea ecx, [ebp - 0x18]
push eax
mov byte [ebp - 4], 5
call fcn.0040128e
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], bl
call fcn.004019d7
push str._F6_
lea ecx, [ebp - 0x10]
call fcn.0040112d
lea eax, [ebp - 0x10]
lea ecx, [ebp - 0x18]
push eax
mov byte [ebp - 4], 6
call fcn.0040128e
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], bl
call fcn.004019d7
push dword [ebp - 0x18]
push 0x8005
push ebx
push dword [ebp - 0x20]
call esi
push 0xc
call fcn.00404623
pop ecx
push eax
lea ecx, [ebp - 0x18]
call fcn.0040122c
push 0x412920
lea ecx, [ebp - 0x10]
call fcn.0040112d
lea eax, [ebp - 0x10]
lea ecx, [ebp - 0x18]
push eax
mov byte [ebp - 4], 7
call fcn.0040128e
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], bl
call fcn.004019d7
push str.__F7_
lea ecx, [ebp - 0x10]
call fcn.0040112d
lea eax, [ebp - 0x10]
lea ecx, [ebp - 0x18]
push eax
mov byte [ebp - 4], 8
call fcn.0040128e
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], bl
call fcn.004019d7
push dword [ebp - 0x18]
push 0x800f
push ebx
push dword [ebp - 0x20]
call esi
push 0xd
call fcn.00404623
pop ecx
push eax
lea ecx, [ebp - 0x18]
call fcn.0040122c
push 0x412920
lea ecx, [ebp - 0x10]
call fcn.0040112d
lea eax, [ebp - 0x10]
lea ecx, [ebp - 0x18]
push eax
mov byte [ebp - 4], 9
call fcn.0040128e
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], bl
call fcn.004019d7
push str.__F8_
lea ecx, [ebp - 0x10]
call fcn.0040112d
lea eax, [ebp - 0x10]
lea ecx, [ebp - 0x18]
push eax
mov byte [ebp - 4], 0xa
call fcn.0040128e
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], bl
call fcn.004019d7
push dword [ebp - 0x18]
push dword [ebp - 0x28]
push 0x10
push dword [ebp - 0x20]
call esi
push str.AtlMiscX.cpp
lea ecx, [ebp - 0x2c]
call fcn.0040112d
push dword [eax]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x1c], eax
call fcn.004019d7
cmp dword [0x41f20c], ebx
mov dword [ebp - 0x14], ebx
jle 0x406d65
mov eax, dword [ebp - 0x14]
push dword [eax*4 + 0x41389c]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cmp eax, 5
jle 0x406d53
lea ecx, [ebp - 0x10]
call fcn.0040108a
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x1c], 0xffffffff
mov byte [ebp - 4], 0xb
push dword [eax*4 + 0x41309c]
push dword [eax*4 + 0x41389c]
jne 0x406d11
lea eax, [ebp - 0x10]
push str._s____d___
push eax
call fcn.00401527
add esp, 0x10
jmp 0x406d23
push eax
lea eax, [ebp - 0x10]
push str._d.___s____d___
push eax
call fcn.00401527
add esp, 0x14
mov ecx, dword [ebp - 0x14]
cmp dword [0x41f1f4], ecx
jne 0x406d33
push 0xb
pop eax
jmp 0x406d35
xor eax, eax
push dword [ebp - 0x10]
add ecx, 0x84d0
or ah, 4
push ecx
push eax
push dword [ebp - 0x24]
call esi
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], bl
call fcn.004019d7
inc dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp eax, dword [0x41f20c]
jl 0x406cc6
push ebx
push ebx
push 0xc00
push dword [ebp - 0x24]
call esi
push str.Translate
push 0x8534
push 0x400
push dword [ebp - 0x24]
call esi
push str.Load_from_File__Unicode_
push 0x852a
push 0x400
push dword [ebp - 0x24]
call esi
mov dword [ebp - 0x14], 1
mov dword [ebp - 0x10], 5
push 0x15
call fcn.00404623
pop ecx
push eax
lea eax, [ebp - 0x22c]
push dword [ebp - 0x10]
push str._d__s
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x10
lea eax, [ebp - 0x22c]
push eax
mov eax, dword [ebp - 0x14]
add eax, 0x80e8
push eax
push ebx
push dword [ebp - 0x28]
call esi
inc dword [ebp - 0x14]
add dword [ebp - 0x10], 5
cmp dword [ebp - 0x10], 0x7d
jl 0x406da7
push ebx
push ebx
push edi
push dword [ebp - 0x28]
call esi
push 0x18
call fcn.00404623
pop ecx
push eax
lea ecx, [ebp - 0x18]
call fcn.0040122c
push 0x412920
lea ecx, [ebp - 0x10]
call fcn.0040112d
lea eax, [ebp - 0x10]
lea ecx, [ebp - 0x18]
push eax
mov byte [ebp - 4], 0xc
call fcn.0040128e
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], bl
call fcn.004019d7
push str.__F8_
lea ecx, [ebp - 0x1c]
call fcn.0040112d
lea eax, [ebp - 0x1c]
lea ecx, [ebp - 0x18]
push eax
mov byte [ebp - 4], 0xd
call fcn.0040128e
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], bl
call fcn.004019d7
push dword [ebp - 0x18]
push 0x8010
push ebx
push dword [ebp - 0x28]
call esi
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x18]
call fcn.004019d7
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x20]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret