Function at 0x44625b
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 [0x4d1028]
mov ebx, dword [ebp + 8]
mov edi, 0x1126
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
call fcn.00446070
add esp, 4
test al, al
jne 0x4464d9
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.004464ed
mov ecx, esi
mov bh, al
call fcn.004465c0
mov ecx, esi
mov edx, esi
mov bl, al
call fcn.004465f5
test bh, bh
jne 0x4462cf
test bl, bl
jne 0x4462cf
mov edi, 0x7b
test al, al
je 0x4464d1
mov al, 1
test bl, bl
mov dword [ebp - 0x5c], eax
jne 0x44638f
lea edi, [ebp - 0x58]
mov eax, 7
mov dword [edi + 0x14], eax
xor eax, eax
mov ecx, edi
mov dword [edi + 0x10], eax
mov word [edi], ax
push 4
push 0x496e04
call fcn.00402870
mov ecx, 7
mov eax, dword [ebp - 0x18]
mov edx, esi
cmp dword [ebp - 0x14], ecx
jbe 0x44630f
mov edx, dword [ebp - 0x28]
mov ecx, edi
push eax
push edx
call fcn.004026a2
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.004024a4
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.004024a4
lea ecx, [ebp - 0x58]
call fcn.004024a4
xor eax, eax
xor ecx, ecx
mov esi, 7
dec eax
mov dword [ebp - 0x60], ecx
xor ebx, ebx
mov ecx, 7
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x30], ebx
mov word [ebp - 0x40], bx
lea ecx, [ebp - 0x40]
push eax
push ebx
lea edi, [ebp - 0x28]
push edi
call fcn.0041d13a
mov ecx, edi
call fcn.004024a4
movsd xmm0, qword [ebp - 0x30]
movsd xmm2, qword [ebp - 0x40]
movsd xmm1, qword [ebp - 0x38]
lea ecx, [ebp - 0x40]
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.004024a4
cmp dword [ebp - 0x14], esi
jbe 0x4463fa
mov edi, dword [ebp - 0x28]
push edi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x44640e
bt eax, 0xa
jae 0x446421
jmp 0x446478
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [eax - 2]
cmp ecx, 2
jb 0x446421
cmp eax, 0x7b
jne 0x44647c
mov edx, dword [ebp - 0x18]
cmp dword [ebp - 0x14], 7
lea ecx, [ebp - 0x28]
jbe 0x446430
mov ecx, dword [ebp - 0x28]
test edx, edx
mov eax, 0xffffffff
je 0x446466
lea eax, [ecx + edx*2 - 2]
cmp word [eax], 0x5c
je 0x44645d
add edx, edx
mov ebx, 2
sub ebx, edx
test ebx, ebx
je 0x446463
add ebx, 2
cmp word [eax - 2], 0x5c
lea eax, [eax - 2]
jne 0x44644c
sub eax, ecx
sar eax, 1
jmp 0x446466
xor eax, eax
dec eax
mov cl, 1
cmp eax, 2
ja 0x446399
mov edi, 0x1126
jmp 0x4464d1
xor edi, edi
jmp 0x4464d1
cmp byte [ebp - 0x60], 0
mov edx, dword [ebp - 0x5c]
sete cl
or dl, cl
jne 0x4464cf
mov esi, dword [ebp - 0x18]
cmp dword [ebp - 0x14], 7
jbe 0x446498
mov ecx, dword [ebp - 0x28]
jmp 0x44649b
lea ecx, [ebp - 0x28]
test esi, esi
je 0x4464cf
lea edx, [ecx + esi*2 - 2]
cmp word [edx], 0x5c
je 0x4464c3
add esi, esi
mov edi, 2
sub edi, esi
test edi, edi
je 0x4464cf
add edi, 2
cmp word [edx - 2], 0x5c
lea edx, [edx - 2]
jne 0x4464b2
sub edx, ecx
mov edi, 0x1126
cmp edx, 6
je 0x4464d1
mov edi, eax
lea ecx, [ebp - 0x28]
call fcn.004024a4
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0046d691
mov eax, edi
add esp, 0x54
pop esi
pop edi
pop ebx
pop ebp
ret