Function at 0x4063e0
Capabilities:
Get file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x44ceeb
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
mov eax, 0x4638
call fcn.004239e0
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
xor ebx, ebx
mov dword [ebp - 4], ebx
call fcn.004351e0
test eax, eax
jne 0x40641f
mov byte [ebp - 4], bl
jmp 0x406805
mov eax, dword [ebp + 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
or esi, 0xffffffff
cmp eax, esi
jne 0x40644e
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x20
je 0x40644e
lea ecx, [ebp + 0xc]
mov byte [ebp - 4], bl
call fcn.0043fdfc
mov dword [ebp - 4], esi
jmp 0x406814
mov ecx, 0xfff
xor eax, eax
lea edi, [ebp - 0x4644]
mov dword [ebp - 0x4648], ebx
rep stosd dword es:[edi], eax
mov ecx, dword [ebp + 0xc]
push ebx
push ecx
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 2
call fcn.0043b866
mov edx, dword [ebp - 0x3c]
push ebx
push ebx
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 3
call dword [edx + 0x28]
lea eax, [ebp - 0x4648]
push 0x4000
push eax
lea ecx, [ebp - 0x3c]
call fcn.0043bae0
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 2
call fcn.0043b906
lea ecx, [ebp - 0x4648]
mov dword [ebp - 4], 1
push ecx
call fcn.00406030
add esp, 4
test eax, eax
jne 0x4064d0
lea ecx, [ebp + 0xc]
mov byte [ebp - 4], bl
call fcn.0043fdfc
mov dword [ebp - 4], esi
jmp 0x406814
mov eax, dword [ebp + 0x10]
lea edx, [ebp - 0x23c]
push edx
lea ecx, [ebp - 0x4648]
push eax
push ecx
call fcn.00406110
add esp, 0xc
test eax, eax
jne 0x406501
lea ecx, [ebp + 0xc]
mov byte [ebp - 4], bl
call fcn.0043fdfc
mov dword [ebp - 4], esi
jmp 0x406814
mov dword [ebp - 0x20], pe_nt_image_headers32
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x1c], 0x8456
mov dword [ebp + 0x10], 0x4287
mov dword [ebp - 0x2c], 0x332
mov dword [ebp - 0x28], 0x3678
mov dword [ebp - 0x18], 0x12
jmp 0x406537
pushaw
mov eax, dword [ebp - 0x1c]
jmp 0x406540
mov ebx, dword [ebp + 0x10]
jmp 0x406546
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x28]
mov esi, dword [ebp - 0x18]
jmp 0x406553
mov edi, dword [ebp - 0x2c]
and eax, ebx
jmp 0x40655c
or eax, esi
and ebx, dword [ebp - 0x24]
jmp 0x406565
add ebx, eax
sub ecx, eax
sub esi, eax
mov dword [ebp - 0x20], ebx
jmp 0x406571
add edi, esi
and ebx, eax
jmp 0x40657a
xor esi, edi
add esi, ebx
jmp 0x406581
sub ecx, esi
add edi, ebx
jmp 0x406589
xor ecx, edi
mov dword [ebp - 0x1c], ebx
mov dword [ebp + 0x10], eax
jmp 0x406595
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x18], esi
jmp 0x4065a1
popaw
jmp 0x4065a6
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
lea ebx, [ecx + edi]
lea edx, [esi + eax]
and ebx, edx
lea edx, [esi + esi*8]
shl edx, 1
and edx, 0x23
xor ebx, edx
mov edx, ecx
and edx, esi
or ebx, edx
mov edx, dword [ebp + 0x10]
or ebx, edx
add esi, ebx
jmp 0x4065d5
mov ebx, edi
sub ebx, edx
mov edx, dword [ebp - 0x24]
add ebx, eax
add edx, esi
xor ebx, edx
lea edx, [ecx + esi]
xor edx, 0x19b
or ebx, edx
add ecx, ebx
mov dword [ebp - 0x18], ecx
jmp 0x4065f5
mov edx, dword [ebp + 0x10]
sub ecx, edx
lea ebx, [ecx + eax + 5]
lea ecx, [esi + esi*2]
and ebx, eax
lea ecx, [ecx + ecx*8]
shl ecx, 3
sar ecx, 2
or ebx, ecx
mov ecx, dword [ebp - 0x20]
sub ecx, ebx
mov dword [ebp - 0x20], ecx
jmp 0x406619
mov ebx, esi
add edx, 0x12
and ebx, dword [ebp - 0x24]
xor edx, edi
xor ebx, ecx
or ebx, edx
sub esi, ebx
jmp 0x40662d
jmp 0x406630
cdq
idiv edi
lea eax, [esi + esi*8]
mov ecx, 0x18
shl eax, 1
mov ebx, edx
cdq
idiv ecx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x24]
and ebx, edx
mov edx, dword [ebp + 0x10]
add edx, esi
add edx, eax
add edx, ecx
and edx, edi
xor ebx, edx
mov edx, dword [ebp - 0x18]
and edx, ebx
mov dword [ebp - 0x18], edx
jmp 0x406663
mov edx, dword [ebp + 0x10]
mov ebx, esi
sub ebx, edx
mov edx, esi
sub edx, ecx
add ebx, edi
add edx, edi
and ebx, edx
mov edx, esi
sub edx, eax
mov eax, dword [ebp + 0x10]
shl edi, cl
mov ecx, dword [ebp - 0x20]
add edx, eax
mov eax, dword [ebp - 0x1c]
and edx, edi
and edx, ecx
or ebx, edx
cdq
sub eax, edx
mov edx, dword [ebp - 0x18]
sar eax, 1
add eax, esi
xor eax, edx
or ebx, eax
jmp 0x40669d
jmp 0x4066a1
mov eax, 0x857
jmp 0x4066aa
add eax, 7
sub ebx, 0x2a91ae48
cmp eax, 0x2334
jb 0x4066a6
jmp 0x4066be
lea eax, [ebx + ebx*4]
shl eax, 4
add eax, ebx
shl eax, 6
sub eax, ebx
lea eax, [eax + eax*8]
shl eax, 1
sub eax, ebx
mov ecx, eax
and ecx, 0xde8
xor ecx, 0xc960df20
jmp 0x4066e5
jmp 0x4066e8
imul eax, eax, 0x6c62669
sub eax, 2
imul eax, ecx
not ecx
add eax, 0xd9b
add ecx, 0x16c6d
xor eax, ecx
jmp 0x406707
jmp 0x40670b
lea ecx, [ebp - 0x648]
mov dword [ebp - 0x14], eax
call fcn.00414240
mov ecx, dword [ebp - 0x43f9]
lea eax, [ebp - 0x14]
push 4
and ecx, 0xffff
push eax
lea edx, [ebp - 0x23c]
push ecx
push edx
lea ecx, [ebp - 0x648]
mov byte [ebp - 4], 6
call fcn.00414390
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ebp + 0x18]
push eax
mov eax, dword [ebp - 0x43f9]
push ecx
push edx
mov edx, dword [ebp + 0x14]
and eax, 0xffff
push 0
lea ecx, [ebp - 0x23c]
push eax
mov eax, dword [ebp + 0xc]
push ecx
push edx
push eax
call fcn.00435210
add esp, 0x20
lea ecx, [ebp - 0x648]
mov esi, eax
mov byte [ebp - 4], 1
call fcn.00414270
lea ecx, [ebp + 0xc]
mov byte [ebp - 4], 0
call fcn.0043fdfc
lea ecx, [ebp + 0x14]
mov dword [ebp - 4], 0xffffffff
call fcn.0043fdfc
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea ecx, [ebp + 0xc]
call fcn.0043fdfc
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x14]
call fcn.0043fdfc
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
xor eax, eax
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret