Function at 0x463ae3
Capabilities:
Get file attributes

Disassembly:
mov eax, 0x4afe73
call fcn.004af1c8
sub esp, 0x7c
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov eax, edx
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x24], 0xc8dd
mov dword [ebp - 0x48], 7
mov dword [ebp - 0x18], 0xfffffffc
xor ebx, ebx
cmp dword [ebp - 0x18], 0x16
jne 0x463b3c
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], bl
je 0x463b37
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
inc dword [ebp - 0x18]
jmp 0x463b1f
mov dword [ebp - 0x18], ebx
jmp 0x463bd8
mov dword [ebp - 0x28], 0x3bfa32a1
push 4
lea ecx, [ebp - 0x70]
call fcn.00409f19
mov dword [ebp - 0x20], ebx
jmp 0x463b6a
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x70]
mov dword [eax + ecx*4], 0x1448112d
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 4
jl 0x463b5a
cmp dword [ebp - 0x28], ebx
jne 0x463b92
mov eax, dword [ebp - 0x18]
neg eax
sbb eax, eax
neg eax
imul eax, eax, 0x7051
mov ecx, dword [ebp - 0x28]
sub ecx, eax
mov eax, dword [ebp - 0x70]
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x24], 0x6095610a
jg 0x463ba7
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
mov ecx, 0xe924f63a
mov eax, dword [ebp - 0x70]
cmp ecx, dword [eax + 4]
sbb eax, eax
inc eax
add eax, eax
mov dword [ebp - 0x48], eax
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x463bcd
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
lea ecx, [ebp - 0x70]
call fcn.00409fc5
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xffffffe6
jle 0x463b44
mov eax, dword [ebp + 8]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x18], 0xfffffff6
mov dword [ebp - 0x18], ebx
push 0xffffffffffffffe3
pop edi
xor esi, esi
inc esi
cmp dword [ebp - 0x18], edi
je 0x463c87
mov dword [ebp - 0x20], 0x58d32ffa
mov dword [ebp - 0x48], esi
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], esi
jne 0x463c40
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
xor edx, edx
cmp ecx, eax
setl dl
mov eax, dword [ebp - 0x20]
xor ecx, ecx
cmp edx, eax
setne cl
imul ecx, dword [ebp - 0x18]
add ecx, dword [ebp - 0x18]
neg ecx
mov dword [ebp - 0x48], ecx
mov eax, esi
jne 0x463c42
mov eax, ebx
add eax, 0xc4b7c700
jne 0x463c65
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], al
je 0x463c7f
push ebx
push 0x12b9
push ebx
push 0x11c5
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32A]
jmp 0x463c7f
mov dword [ebp - 0x48], 0x4a90c6d2
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x463c7c
push ebx
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
mov eax, dword [ebp - 0x48]
dec dword [ebp - 0x18]
jmp 0x463bf8
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x463c9c
push ebx
push 0xcd5
call dword [sym.imp.GDI32.dll_CreateHatchBrush]
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x3c], ecx
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x20], 0xcff0ea75
mov dword [ebp + 0x10], 5
mov dword [ebp - 0x20], edi
jmp 0x463cf5
mov dword [ebp - 0x28], esi
mov byte [ebp + 0x13], bl
cmp byte [ebp + 0x13], 0
je 0x463ce1
push 0x22ea
push ebx
push 0x9f
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CompareStringW]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
xor ecx, ecx
cmp eax, 4
setl cl
mov dword [ebp + 0x10], ecx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xffffffe8
jne 0x463cc1
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x30], 0x734c
mov dword [ebp - 0x58], str.scbjlw_ybkvlu_nfvsiy_qhzi_gpi_kit_voubqm_zxss
cmp dword [ebp - 0x30], 0x73ed
jle 0x463d8c
mov esi, ebx
mov dword [ebp - 0x24], ebx
mov edi, ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp + 0x10], ebx
mov eax, esi
cdq
idiv edi
mov dword [ebp - 0x20], edx
mov dword [ebp + 0x20], 0x15ec
mov esi, ebx
mov edi, 0x6e84
mov ebx, dword [ebp + 0x10]
mov eax, esi
cdq
push edx
push eax
mov ecx, 0xae33d8
call fcn.00409bc4
add esi, ebx
dec edi
jne 0x463d4a
add ebx, dword [ebp - 0x20]
mov dword [ebp + 0x10], ebx
dec dword [ebp + 0x20]
push edi
pop ebx
jne 0x463d40
mov edi, dword [ebp - 0x28]
inc edi
mov dword [ebp - 0x28], edi
cmp edi, 0x8053
mov esi, dword [ebp - 0x24]
jl 0x463d2e
inc esi
mov dword [ebp - 0x24], esi
cmp esi, 0x23a8
jl 0x463d29
xor esi, esi
inc esi
mov dword [ebp + 0x20], 7
mov dword [ebp - 0x20], 0xfffffff8
mov dword [ebp - 0x50], 0xf390f3bd
mov dword [ebp - 0x54], 8
mov dword [ebp + 0x10], ebx
jmp 0x463dbb
mov eax, dword [ebp + 0x10]
mov dword [ebp + eax*4 - 0x1c], 0xffffffff
inc dword [ebp + 0x10]
cmp dword [ebp + 0x10], esi
jl 0x463dad
mov eax, dword [ebp - 0x1c]
mov dword [ebp + 0x20], eax
mov dword [ebp + 0x20], ebx
cmp dword [ebp + 0x20], ebx
jg 0x464011
mov dword [ebp - 0x24], 0x3fe6
push esi
lea ecx, [ebp - 0x88]
call fcn.00409f19
mov dword [ebp - 0x18], 0xb470
mov dword [ebp + 0x10], 0xfffffffe
push esi
lea ecx, [ebp - 0x7c]
call fcn.00409f19
mov dword [ebp + 0x10], ebx
jmp 0x463e11
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp - 0x88]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp + 0x10]
cmp dword [ebp + 0x10], esi
jl 0x463e01
mov dword [ebp + 0x10], ebx
jmp 0x463e2b
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp - 0x7c]
mov dword [eax + ecx*4], 2
inc dword [ebp + 0x10]
cmp dword [ebp + 0x10], esi
jl 0x463e1b
mov eax, dword [ebp + 0x20]
cmp dword [ebp + eax*4 - 0x1c], ebx
je 0x463ec6
mov dword [ebp - 0x28], 9
mov dword [ebp + 0x10], 0xfffffff6
mov dword [ebp + 0x10], ebx
jmp 0x463e5e
mov eax, dword [ebp + 0x10]
mov dword [ebp + eax*4 - 0x4c], 7
inc dword [ebp + 0x10]
cmp dword [ebp + 0x10], esi
jl 0x463e50
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x88]
mov dword [eax], ecx
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x18]
jle 0x463e80
cmp dword [ebp + 0x20], ebx
mov edx, esi
jne 0x463e82
mov edx, ebx
mov eax, dword [ebp + 0x20]
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0x4c], ecx
mov dword [ebp + 0x10], ecx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], 0xffffffff
mov eax, dword [ebp - 0x20]
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0x10]
sub ecx, dword [ebp - 0x50]
neg ecx
sbb ecx, ecx
inc ecx
shl ecx, 3
mov eax, dword [ebp - 0x7c]
mov dword [eax], ecx
jmp 0x463ff6
mov dword [ebp + 0x10], 0x61e
cmp dword [ebp + 0x10], 0x8af
jle 0x463f25
push ebx
push ebx
push 0x4aa
push ebx
call dword [sym.imp.USER32.dll_GetMenuItemInfoW]
mov esi, ebx
mov edi, ebx
mov dword [ebp - 0x28], ebx
lea eax, [edi + esi]
xor eax, ebx
cdq
push edx
push eax
mov ecx, 0xae33d8
call fcn.00409bc4
inc ebx
cmp ebx, 0xfa3
jl 0x463eeb
inc edi
cmp edi, 0x1f06
push 0
pop ebx
jl 0x463ee8
inc esi
cmp esi, 0x10db
jl 0x463ee6
push ebx
call dword [sym.imp.GDI32.dll_CreateBrushIndirect]
xor esi, esi
inc esi
mov dword [ebp - 0x28], 0xfffffff7
mov dword [ebp - 4], ebx
cmp dword [ebp + 0x10], 0x553
jge 0x463f47
mov edx, str.bfoqx_fgike_edifglp_qjinlubg_mezkarwe_ryud
mov ecx, 0xae33d8
call fcn.0040c802
or dword [ebp - 4], 0xffffffff
jmp 0x463f94
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], ebx
jl 0x463fbd
mov byte [ebp + 0x13], bl
cmp byte [ebp + 0x13], 0
je 0x463fb8
push 0xd3
push 0x11cd
push ebx
push ebx
push ebx
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
dec dword [ebp - 0x18]
jns 0x463f9c
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + 0x20]
mov eax, dword [ebp + eax*4 - 0x1c]
cmp dword [ebp - 0x28], esi
jle 0x463fd6
cmp dword [ebp - 0x20], ebx
mov ecx, esi
jne 0x463fd8
mov ecx, ebx
mov eax, dword [ebp - 0x28]
xor edx, edx
cmp ecx, eax
setge dl
mov eax, dword [ebp - 0x54]
xor ecx, ecx
cmp edx, eax
setge cl
xor eax, eax
cmp ecx, esi
setle al
mov dword [ebp - 0x28], eax
lea ecx, [ebp - 0x7c]
call fcn.00409fc5
lea ecx, [ebp - 0x88]
call fcn.00409fc5
inc dword [ebp + 0x20]
jmp 0x463dc9
mov dword [ebp - 4], 2
cmp dword [ebp - 0x30], 0x728c
jge 0x46402e
mov edx, dword [ebp - 0x58]
mov ecx, 0xae33d8
call fcn.0040c802
or dword [ebp - 4], 0xffffffff
mov edi, dword [ebp + 0x18]
mov ecx, dword [ebp + 0xc]
jmp 0x464079
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
mov eax, dword [ebp + 0x14]
mov eax, dword [eax]
inc dword [ecx]
mov eax, dword [ebp + 0x1c]
mov esi, dword [eax]
mov edx, dword [edi]
mov eax, dword [ebp + 8]
mov eax, dword [eax]
xor ecx, ecx
cmp eax, 3
sete cl
xor ebx, ebx
cmp ecx, dword [edx + esi*4]
setle bl
mov eax, dword [ebp + 8]
mov eax, dword [eax]
add eax, 0x336d
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
imul edx, eax
add edx, ebx
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
xor ecx, ecx
cmp edx, eax
setge cl
mov edx, dword [ebp - 0x2c]
mov dword [edx], ecx
mov eax, dword [ebp + 0x1c]
mov esi, dword [eax]
mov ecx, dword [edi]
mov eax, dword [edx]
neg eax
xor edx, edx
cmp eax, dword [ecx + esi*4]
setge dl
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax]
add ecx, edx
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret