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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x54
mov eax, dword [0x5599f4]
mov ebx, dword [ebp + 8]
mov edi, 0x1126
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
call fcn.0048d0c0
add esp, 4
test al, al
jne 0x48d539
lea esi, [ebp - 0x28]
mov ecx, ebx
mov edx, esi
mov dword [esi + 0x14], 7
mov dword [esi + 0x10], 0
mov word [esi], 0
call fcn.0048d54d
mov ecx, esi
mov bh, al
call fcn.0048d620
mov ecx, esi
mov edx, esi
mov bl, al
call fcn.0048d659
test bh, bh
jne 0x48d31f
test bl, bl
jne 0x48d31f
mov edi, 0x7b
test al, al
je 0x48d531
mov ecx, 7
test bl, bl
je 0x48d332
mov al, 1
mov dword [ebp - 0x5c], eax
jmp 0x48d3e5
lea edi, [ebp - 0x58]
xor eax, eax
mov dword [edi + 0x14], ecx
mov dword [edi + 0x10], eax
mov word [edi], ax
mov ecx, edi
push 4
push 0x52c020
call fcn.004017ac
mov ecx, 7
mov eax, dword [ebp - 0x18]
mov edx, esi
cmp dword [ebp - 0x14], ecx
jbe 0x48d360
mov edx, dword [ebp - 0x28]
mov ecx, edi
push eax
push edx
call fcn.0040308a
movsd xmm0, qword [eax + 0x10]
lea ebx, [ebp - 0x40]
xor edi, edi
mov ecx, 7
movsd qword [ebx + 0x10], xmm0
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
movsd qword [ebx + 8], xmm1
movsd qword [ebx], xmm0
mov dword [eax + 0x10], edi
mov dword [eax + 0x14], ecx
mov ecx, esi
mov word [eax], di
call fcn.00401930
movsd xmm0, qword [ebx + 0x10]
movsd xmm2, qword [ebx]
movsd xmm1, qword [ebx + 8]
mov ecx, ebx
mov eax, 7
mov dword [ebx + 0x10], edi
mov dword [ebp - 0x5c], 0
mov dword [ebx + 0x14], eax
mov word [ebx], di
movsd qword [ebp - 0x18], xmm0
movsd qword [ebp - 0x20], xmm1
movsd qword [ebp - 0x28], xmm2
call fcn.00401930
lea ecx, [ebp - 0x58]
call fcn.00401930
mov ecx, 7
xor eax, eax
xor edx, edx
dec eax
xor ebx, ebx
lea esi, [ebp - 0x40]
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x60], edx
mov dword [ebp - 0x30], ebx
mov word [ebp - 0x40], bx
mov ecx, esi
push eax
push ebx
lea edi, [ebp - 0x28]
push edi
call fcn.004654ea
mov ecx, edi
call fcn.00401930
movsd xmm0, qword [ebp - 0x30]
movsd xmm2, qword [ebp - 0x40]
movsd xmm1, qword [ebp - 0x38]
lea ecx, [ebp - 0x40]
mov esi, 7
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x2c], esi
mov word [ebp - 0x40], bx
movsd qword [ebp - 0x18], xmm0
movsd qword [ebp - 0x20], xmm1
movsd qword [ebp - 0x28], xmm2
call fcn.00401930
cmp dword [ebp - 0x14], esi
jbe 0x48d44d
mov edi, dword [ebp - 0x28]
push edi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x48d461
bt eax, 0xa
jae 0x48d474
jmp 0x48d4d4
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [eax - 2]
cmp ecx, 2
jb 0x48d474
cmp eax, 0x7b
jne 0x48d4d8
mov edx, dword [ebp - 0x18]
cmp dword [ebp - 0x14], 7
lea ecx, [ebp - 0x28]
jbe 0x48d483
mov ecx, dword [ebp - 0x28]
test edx, edx
mov eax, 0xffffffff
je 0x48d4bd
lea eax, [ecx + edx*2 - 2]
movzx ebx, word [eax]
cmp ebx, 0x5c
je 0x48d4b4
add edx, edx
mov ebx, 2
sub ebx, edx
test ebx, ebx
je 0x48d4ba
movzx edx, word [eax - 2]
add eax, 0xfffffffe
add ebx, 2
cmp edx, 0x5c
jne 0x48d4a1
sub eax, ecx
sar eax, 1
jmp 0x48d4bd
xor eax, eax
dec eax
mov dl, 1
cmp eax, 2
mov ecx, 7
ja 0x48d3ea
mov edi, 0x1126
jmp 0x48d531
xor edi, edi
jmp 0x48d531
cmp byte [ebp - 0x60], 0
mov edx, dword [ebp - 0x5c]
sete cl
or dl, cl
jne 0x48d52f
mov esi, dword [ebp - 0x18]
cmp dword [ebp - 0x14], 7
jbe 0x48d4f4
mov ecx, dword [ebp - 0x28]
jmp 0x48d4f7
lea ecx, [ebp - 0x28]
test esi, esi
je 0x48d52f
lea edx, [ecx + esi*2 - 2]
movzx edi, word [edx]
cmp edi, 0x5c
je 0x48d523
add esi, esi
mov edi, 2
sub edi, esi
test edi, edi
je 0x48d52f
movzx esi, word [edx - 2]
add edx, 0xfffffffe
add edi, 2
cmp esi, 0x5c
jne 0x48d510
sub edx, ecx
mov edi, 0x1126
cmp edx, 6
je 0x48d531
mov edi, eax
lea ecx, [ebp - 0x28]
call fcn.00401930
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004d4bc8
mov eax, edi
add esp, 0x54
pop esi
pop edi
pop ebx
pop ebp
ret