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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5857f9
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x268
push ebx
push esi
push edi
mov edi, ecx
xor esi, esi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x4c], edi
mov dword [ebp - 4], esi
mov dword [ebp - 0x3c], 0x5a4684
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x34], 0x11
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x24], 0xa
mov byte [ebp - 4], 1
xor ebx, ebx
cmp ebx, dword [edi + 0xb0]
jge 0x488382
mov eax, dword [0x639ad4]
lea ecx, [ebp - 0x9c]
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xa8], esi
mov dword [ebp - 0xa0], esi
mov word [ebp - 0xa4], si
call fcn.00476c60
mov eax, dword [0x639ad4]
mov dword [ebp - 0x104], 0x59c97c
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], esi
mov dword [ebp - 0x60], esi
mov dword [ebp - 0x54], esi
mov dword [ebp - 0x50], esi
lea eax, [ebp - 0x104]
push esi
push eax
push ebx
lea ecx, [edi + 8]
mov byte [ebp - 4], 2
call fcn.0053fa00
test al, al
je 0x48836d
cmp byte [ebp - 0xc6], 4
jne 0x48836d
mov eax, dword [ebp - 0xa8]
cmp eax, esi
jne 0x488317
lea eax, [ebp - 0xa4]
push eax
call fcn.0054e46e
add esp, 4
test eax, eax
jbe 0x48836d
mov eax, dword [ebp - 0xa8]
cmp eax, esi
jne 0x488334
lea eax, [ebp - 0xa4]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x48836d
mov ecx, dword [ebp - 0x70]
mov eax, dword [ecx - 8]
cmp eax, 5
lea eax, [ebp - 0x70]
jg 0x488354
lea eax, [ebp - 0xb4]
mov eax, dword [eax]
lea ecx, [ebp - 0x3c]
push eax
call fcn.0048d7a0
mov edx, dword [ebp - 0xa8]
mov ecx, eax
push edx
call fcn.00402b60
lea ecx, [ebp - 0x104]
mov byte [ebp - 4], 1
call fcn.0044b000
inc ebx
jmp 0x488265
xor ebx, ebx
mov eax, dword [edi + 0xb0]
mov dword [ebp - 0x18], ebx
cmp ebx, eax
jge 0x4886b8
mov eax, dword [0x639ad4]
lea ecx, [ebp - 0x9c]
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xa8], esi
mov dword [ebp - 0xa0], esi
mov word [ebp - 0xa4], si
call fcn.00476c60
mov eax, dword [0x639ad4]
mov dword [ebp - 0x104], 0x59c97c
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], esi
mov dword [ebp - 0x60], esi
mov dword [ebp - 0x54], esi
mov dword [ebp - 0x50], esi
lea eax, [ebp - 0x104]
push esi
push eax
push ebx
lea ecx, [edi + 8]
mov byte [ebp - 4], 3
call fcn.0053fa00
test al, al
je 0x4886a3
mov al, byte [ebp - 0xb9]
test al, al
je 0x4886a3
cmp byte [ebp - 0xc6], 4
jne 0x4886a3
mov eax, dword [ebp - 0xa8]
cmp eax, esi
jne 0x488451
lea eax, [ebp - 0xa4]
push eax
call fcn.0054e46e
add esp, 4
test eax, eax
jbe 0x4886a3
mov eax, dword [ebp - 0xa8]
cmp eax, esi
jne 0x488472
lea eax, [ebp - 0xa4]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x4886a3
lea ecx, [ebp - 0x274]
call fcn.0045f290
mov ecx, dword [ebp - 0x70]
mov byte [ebp - 4], 4
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x14], esi
mov eax, dword [ecx - 8]
cmp eax, 5
lea eax, [ebp - 0x70]
jg 0x4884ab
lea eax, [ebp - 0xb4]
mov ecx, dword [eax]
mov eax, dword [ebp - 0xa8]
cmp eax, esi
jne 0x4884bd
lea eax, [ebp - 0xa4]
push esi
push ecx
push eax
lea ecx, [ebp - 0x274]
call fcn.00462f10
mov dword [ebp - 0x1c], eax
mov ebx, eax
cmp ebx, esi
je 0x4885df
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x54]
inc eax
xor dl, dl
mov dword [ebp - 0x20], eax
xor eax, eax
cmp eax, dword [ebp - 0x50]
jge 0x4884f6
mov edi, dword [ecx + eax*4]
cmp edi, dword [ebp - 0x20]
je 0x4884fa
inc eax
jmp 0x4884e6
test dl, dl
je 0x488509
mov eax, dword [ebp - 0x14]
mov dword [ebx + 0x10], esi
mov ebx, dword [ebx + 0x1c]
inc eax
mov dword [ebp - 0x14], eax
jmp 0x4884d0
test byte [ebx + 8], 8
je 0x488522
mov eax, dword [ebp - 0x14]
mov dword [ebx + 0x10], 3
mov ebx, dword [ebx + 0x1c]
inc eax
mov dword [ebp - 0x14], eax
jmp 0x4884d0
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x40], esi
mov word [ebp - 0x44], si
mov edx, dword [ebx]
mov byte [ebp - 4], 5
mov edi, dword [edx + 4]
push edi
call fcn.00562f7c
xor edx, edx
div dword [ebp - 0x34]
mov eax, dword [ebp - 0x38]
cmp eax, esi
je 0x4885b5
mov esi, dword [eax + edx*4]
test esi, esi
je 0x4885b5
mov eax, dword [esi + 8]
push edi
push eax
call fcn.0054f4a2
add esp, 8
test eax, eax
je 0x488563
mov esi, dword [esi]
jmp 0x48854a
test esi, esi
je 0x4885b5
mov eax, dword [esi + 0xc]
lea ecx, [ebp - 0x48]
push eax
call fcn.00402b60
mov esi, dword [ebp - 0x48]
test esi, esi
jne 0x488581
lea esi, [ebp - 0x44]
test esi, esi
je 0x4885b5
mov ecx, dword [ebp - 0x14]
push esi
inc ecx
mov dword [ebx + 0x10], 1
mov dword [ebp - 0x14], ecx
call fcn.0054e46e
lea ecx, [eax + eax + 2]
push ecx
call fcn.0056649c
add esp, 8
mov dword [ebx + 4], eax
test eax, eax
je 0x4885c9
push esi
push eax
call fcn.0054e449
add esp, 8
jmp 0x4885c9
test byte [ebx + 8], 4
jne 0x4885c2
mov dword [ebx + 0x10], 2
mov dword [ebx + 4], 0
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 4
call fcn.00401070
mov ebx, dword [ebx + 0x1c]
xor esi, esi
jmp 0x4884d0
mov eax, dword [ebp - 0xa8]
cmp eax, esi
jne 0x4885ef
lea eax, [ebp - 0xa4]
mov edx, dword [ebp - 0x1c]
lea ecx, [ebp - 0x274]
push edx
push eax
call fcn.00463750
mov eax, dword [ebp - 0x54]
cmp eax, esi
je 0x48861c
push eax
mov byte [ebp - 4], 6
call fcn.005664c5
add esp, 4
mov dword [ebp - 4], 4
xor esi, esi
mov eax, dword [ebp - 0x14]
cmp eax, esi
jle 0x488669
mov dword [ebp - 0x50], eax
shl eax, 2
push eax
call fcn.0056649c
mov edx, dword [ebp - 0x1c]
add esp, 4
xor ecx, ecx
mov dword [ebp - 0x54], eax
xor ebx, ebx
cmp edx, esi
je 0x48866f
mov eax, dword [edx + 0x10]
inc ecx
cmp eax, esi
je 0x488652
cmp eax, 3
je 0x488652
cmp eax, 1
jne 0x48865e
cmp ebx, dword [ebp - 0x50]
jge 0x48865d
mov eax, dword [ebp - 0x54]
mov dword [eax + ebx*4], ecx
inc ebx
mov edx, dword [edx + 0x1c]
jmp 0x48863c
mov dword [ebp - 0x50], esi
mov dword [ebp - 0x54], esi
mov edi, dword [ebp - 0x4c]
mov ebx, dword [ebp - 0x18]
lea ecx, [ebp - 0x104]
push ecx
push ebx
lea ecx, [edi + 8]
call fcn.00540f80
mov edx, dword [ebp - 0x1c]
lea ecx, [ebp - 0x274]
push edx
call fcn.00462a30
lea ecx, [ebp - 0x274]
mov byte [ebp - 4], 3
call fcn.0045f710
lea ecx, [ebp - 0x104]
mov byte [ebp - 4], 1
call fcn.0044b000
inc ebx
jmp 0x488384
mov eax, dword [ebp - 0x38]
cmp eax, esi
je 0x48870d
mov dword [ebp - 0x14], esi
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x34]
cmp ecx, edx
jae 0x48870d
mov edx, ecx
mov esi, dword [eax + edx*4]
test esi, esi
je 0x4886ff
mov ebx, 1
lea edi, [esi + 0xc]
mov eax, ebx
dec ebx
test eax, eax
je 0x4886f0
mov ecx, edi
call fcn.00401070
add edi, 0xc
jmp 0x4886dd
lea ecx, [esi + 8]
push 1
push ecx
call fcn.00562f58
mov esi, dword [esi]
jmp 0x4886d1
mov eax, dword [ebp - 0x14]
inc eax
xor esi, esi
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x38]
jmp 0x4886c2
push eax
call fcn.005664c5
mov ecx, dword [ebp - 0x28]
add esp, 4
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x2c], esi
call fcn.00564fe4
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x3c], 0x5a4684
mov ecx, dword [ebp - 0x38]
mov byte [ebp - 4], 8
cmp ecx, esi
je 0x488787
xor eax, eax
mov dword [ebp - 0x18], eax
cmp eax, dword [ebp - 0x34]
jae 0x488787
mov edi, dword [ecx + eax*4]
cmp edi, esi
je 0x48877b
mov ebx, 1
lea esi, [edi + 0xc]
mov edx, ebx
dec ebx
test edx, edx
je 0x48876a
push 0
mov ecx, esi
call fcn.0048d8e0
add esi, 0xc
jmp 0x488755
lea eax, [edi + 8]
push 1
push eax
call fcn.00562f58
mov edi, dword [edi]
xor esi, esi
jmp 0x488749
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x18], eax
jmp 0x488741
push ecx
call fcn.005664c5
mov ecx, dword [ebp - 0x28]
add esp, 4
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x2c], esi
call fcn.00564fe4
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret