Function at 0x424967
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x48393c
mov eax, dword fs:[0]
push eax
sub esp, 0x40
mov eax, dword [0x4b0760]
xor eax, esp
mov dword [esp + 0x38], eax
push ebx
push esi
push edi
mov eax, dword [0x4b0760]
xor eax, esp
push eax
lea eax, [esp + 0x50]
mov dword fs:[0], eax
mov dword [esp + 0x2c], edx
mov dword [esp + 0x18], ecx
xor eax, eax
mov edi, eax
mov dword [esp + 0x24], eax
mov esi, eax
mov dword [esp + 0x1c], edi
mov bh, al
mov dword [esp + 0x20], esi
mov dword [esp + 0x58], eax
mov dword [esp + 0x14], eax
push 0x4992c0
call fcn.004026a2
pop ecx
mov ecx, dword [esp + 0x18]
push eax
push dword [esp + 0x18]
push 0x4992c0
call fcn.00403690
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x28], eax
sub eax, ecx
push eax
push ecx
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0x38]
push eax
call fcn.004033f1
mov dword [esp + 0x14], eax
mov byte [esp + 0x58], 1
cmp eax, esi
jae 0x424a3a
cmp edi, eax
ja 0x424a3a
sub eax, edi
push 0x18
cdq
pop ecx
idiv ecx
mov dword [esp + 0x14], eax
cmp esi, dword [esp + 0x24]
jne 0x424a33
push ecx
lea ecx, [esp + 0x20]
call fcn.00426502
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
imul eax, eax, 0x18
add eax, edi
jmp 0x424a56
cmp esi, dword [esp + 0x24]
jne 0x424a56
push ecx
lea ecx, [esp + 0x20]
call fcn.00426502
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
test esi, esi
je 0x424a62
push eax
mov ecx, esi
call fcn.00403389
push 0x18
pop eax
push 0
add esi, eax
mov byte [esp + 0x5c], 0
push 1
lea ecx, [esp + 0x38]
mov dword [esp + 0x28], esi
call fcn.0040224f
mov eax, dword [esp + 0x28]
cmp eax, 0xffffffff
je 0x424a96
add eax, 3
mov dword [esp + 0x14], eax
cmp eax, 0xffffffff
jne 0x4249c2
mov eax, esi
and dword [esp + 0x18], 0
sub eax, edi
push 0x18
cdq
pop ecx
idiv ecx
mov dword [esp + 0x28], eax
test eax, eax
je 0x424db3
mov esi, dword [esp + 0x2c]
mov edx, 0x2793
lea ecx, [esp + 0x30]
call fcn.00426a7f
mov ecx, dword [ebp + 8]
mov edx, eax
call fcn.0040259e
push 0
push 1
lea ecx, [esp + 0x38]
mov bl, al
call fcn.0040220b
lea ecx, [esp + 0x30]
test bl, bl
je 0x424b61
mov edx, edi
call fcn.00427b77
cmp dword [esp + 0x44], 8
lea eax, [esp + 0x30]
cmovae eax, dword [esp + 0x30]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x424b0d
test al, 0x10
je 0x424b0d
mov bh, 1
jmp 0x424b0f
xor bh, bh
push 0
push 1
lea ecx, [esp + 0x38]
call fcn.0040224f
test bh, bh
jne 0x424dab
cmp dword [edi + 0x14], 8
jb 0x424b2e
mov eax, dword [edi]
jmp 0x424b30
mov eax, edi
push eax
lea ecx, [esp + 0x34]
call fcn.00403358
lea ecx, [esp + 0x30]
mov byte [esp + 0x58], 2
call fcn.00423f03
push 0
push 1
lea ecx, [esp + 0x38]
mov byte [esp + 0x60], 0
mov bh, al
call fcn.0040224f
jmp 0x424d8f
mov edx, 0x2794
call fcn.00426a7f
mov ecx, dword [ebp + 8]
mov edx, eax
call fcn.0040259e
push 0
push 1
lea ecx, [esp + 0x38]
mov bl, al
call fcn.0040220b
test bl, bl
je 0x424b94
mov ecx, edi
call fcn.004244af
jmp 0x424d8d
mov edx, 0x2795
lea ecx, [esp + 0x30]
call fcn.00426a7f
mov ecx, dword [ebp + 8]
mov edx, eax
call fcn.0040259e
push 0
push 1
lea ecx, [esp + 0x38]
mov bl, al
call fcn.0040220b
test bl, bl
je 0x424bcb
mov ecx, edi
call fcn.004244df
jmp 0x424d8d
mov edx, 0x2796
lea ecx, [esp + 0x30]
call fcn.00426a7f
mov ecx, dword [ebp + 8]
mov edx, eax
call fcn.0040259e
push 0
push 1
lea ecx, [esp + 0x38]
mov bl, al
call fcn.0040220b
test bl, bl
je 0x424c04
mov edx, esi
mov ecx, edi
call fcn.004245c7
jmp 0x424d8d
mov edx, 0x2797
lea ecx, [esp + 0x30]
call fcn.00426a7f
mov ecx, dword [ebp + 8]
mov edx, eax
call fcn.0040259e
push 0
push 1
lea ecx, [esp + 0x38]
mov bl, al
call fcn.0040220b
test bl, bl
je 0x424c3a
mov edx, esi
mov ecx, edi
call fcn.004245c7
jmp 0x424ca7
mov edx, 0x2798
lea ecx, [esp + 0x30]
call fcn.00426a7f
mov ecx, dword [ebp + 8]
mov edx, eax
call fcn.0040259e
push 0
push 1
lea ecx, [esp + 0x38]
mov bl, al
call fcn.0040220b
test bl, bl
je 0x424c73
mov edx, esi
mov ecx, edi
call fcn.0042482b
jmp 0x424d8d
mov edx, 0x2799
lea ecx, [esp + 0x30]
call fcn.00426a7f
mov ecx, dword [ebp + 8]
mov edx, eax
call fcn.0040259e
push 0
push 1
lea ecx, [esp + 0x38]
mov bl, al
call fcn.0040220b
test bl, bl
je 0x424cb4
mov edx, esi
mov ecx, edi
call fcn.0042482b
mov bh, al
neg bh
sbb bh, bh
inc bh
jmp 0x424d8f
mov edx, 0x279a
lea ecx, [esp + 0x30]
call fcn.00426a7f
mov ecx, dword [ebp + 8]
mov edx, eax
call fcn.0040259e
push 0
push 1
lea ecx, [esp + 0x38]
mov bl, al
call fcn.0040220b
test bl, bl
je 0x424ced
mov edx, esi
mov ecx, edi
call fcn.00424dfe
jmp 0x424d8d
mov edx, 0x279b
lea ecx, [esp + 0x30]
call fcn.00426a7f
mov ecx, dword [ebp + 8]
mov edx, eax
call fcn.0040259e
push 0
push 1
lea ecx, [esp + 0x38]
mov bl, al
call fcn.0040220b
test bl, bl
je 0x424d23
mov edx, esi
mov ecx, edi
call fcn.004250b7
jmp 0x424d8d
mov edx, 0x279c
lea ecx, [esp + 0x30]
call fcn.00426a7f
mov ecx, dword [ebp + 8]
mov edx, eax
call fcn.0040259e
push 0
push 1
lea ecx, [esp + 0x38]
mov bl, al
call fcn.0040220b
test bl, bl
je 0x424d59
mov edx, esi
mov ecx, edi
call fcn.00425370
jmp 0x424d8d
mov edx, 0x279d
lea ecx, [esp + 0x30]
call fcn.00426a7f
mov ecx, dword [ebp + 8]
mov edx, eax
call fcn.0040259e
push 0
push 1
lea ecx, [esp + 0x38]
mov bl, al
call fcn.0040220b
test bl, bl
je 0x424d93
mov edx, esi
mov ecx, edi
call fcn.00425629
mov bh, al
test bh, bh
jne 0x424dab
mov eax, dword [esp + 0x18]
push 0x18
inc eax
pop ecx
add edi, ecx
mov dword [esp + 0x18], eax
cmp eax, dword [esp + 0x28]
jb 0x424ab5
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
test edi, edi
je 0x424dde
mov dword [esp + 0x2c], edi
cmp edi, esi
je 0x424dd7
push 0
push 1
mov ecx, edi
call fcn.0040224f
push 0x18
pop eax
add edi, eax
cmp edi, esi
jne 0x424dbf
mov edi, dword [esp + 0x1c]
push edi
call fcn.00431514
pop ecx
mov al, bh
mov ecx, dword [esp + 0x50]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x38]
xor ecx, esp
call fcn.004600e1
mov esp, ebp
pop ebp
ret