Function at 0x76e2b822
Capabilities:
Get file size
Read file on windows

Disassembly:
push 0x28
push 0x76e2bb30
call fcn.76e112c0
xor edi, edi
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x30], edi
mov dword [ebp - 4], edi
push edi
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov esi, eax
mov dword [ebp - 0x2c], esi
or ebx, 0xffffffff
cmp esi, ebx
jne 0x76e2b860
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x20], eax
mov dword [ebp - 4], ebx
jmp 0x76e2ba50
cmp esi, edi
jne 0x76e2b86d
mov dword [ebp - 0x20], 0x3ee
jmp 0x76e2b858
push esi
call sym.adsldpc.dll_AllocADsMem
mov edi, dword [ebp + 0x24]
mov dword [edi], eax
test eax, eax
jne 0x76e2b885
mov dword [ebp - 0x20], 8
jmp 0x76e2b858
push 0
lea ecx, [ebp - 0x30]
push ecx
push esi
push eax
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x76e2b84f
mov esi, dword [edi]
inc esi
inc esi
mov dword [ebp - 0x28], esi
mov edi, dword [sym.imp.msvcrt.dll__wcsicmp]
mov eax, dword [ebp + 0x24]
mov eax, dword [eax]
add eax, dword [ebp - 0x2c]
cmp esi, eax
jae 0x76e2b93d
push 0xa
push esi
call dword [sym.imp.msvcrt.dll_wcschr]
pop ecx
pop ecx
mov ebx, eax
mov dword [ebp - 0x38], ebx
test ebx, ebx
je 0x76e2b8cf
and word [ebx], 0
push 0x76e2bb0c
push esi
call edi
pop ecx
pop ecx
test eax, eax
jne 0x76e2b8e6
mov dword [ebp - 0x24], 1
jmp 0x76e2b92f
push 0x76e2baec
push esi
call edi
pop ecx
pop ecx
test eax, eax
jne 0x76e2b8fd
mov dword [ebp - 0x24], 2
jmp 0x76e2b92f
push 0x76e2bac8
push esi
call edi
pop ecx
pop ecx
test eax, eax
jne 0x76e2b914
mov dword [ebp - 0x24], 3
jmp 0x76e2b92f
mov eax, dword [ebp - 0x24]
dec eax
je 0x76e2b92a
dec eax
je 0x76e2b925
dec eax
jne 0x76e2b92f
mov eax, dword [ebp + 0x20]
jmp 0x76e2b92d
mov eax, dword [ebp + 0x18]
jmp 0x76e2b92d
mov eax, dword [ebp + 0x10]
inc dword [eax]
lea esi, [ebx + 2]
mov dword [ebp - 0x28], esi
or ebx, 0xffffffff
jmp 0x76e2b8a7
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
shl eax, 2
push eax
call sym.adsldpc.dll_AllocADsMem
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
test eax, eax
je 0x76e2b87c
mov eax, dword [ebp + 0x18]
mov eax, dword [eax]
shl eax, 2
push eax
call sym.adsldpc.dll_AllocADsMem
mov ecx, dword [ebp + 0x14]
mov dword [ecx], eax
test eax, eax
je 0x76e2b87c
mov eax, dword [ebp + 0x20]
mov eax, dword [eax]
shl eax, 2
push eax
call sym.adsldpc.dll_AllocADsMem
mov ecx, dword [ebp + 0x1c]
mov dword [ecx], eax
test eax, eax
je 0x76e2b87c
mov eax, dword [ebp + 0x24]
mov esi, dword [eax]
inc esi
inc esi
mov dword [ebp - 0x28], esi
mov eax, dword [ebp + 0x24]
mov eax, dword [eax]
add eax, dword [ebp - 0x2c]
cmp esi, eax
jae 0x76e2b858
push 0x76e2bb0c
push esi
call edi
pop ecx
pop ecx
test eax, eax
jne 0x76e2b9c2
and dword [ebp - 0x1c], eax
mov dword [ebp - 0x24], 1
jmp 0x76e2ba1a
push 0x76e2baec
push esi
call edi
pop ecx
pop ecx
test eax, eax
jne 0x76e2b9dc
and dword [ebp - 0x1c], eax
mov dword [ebp - 0x24], 2
jmp 0x76e2ba1a
push 0x76e2bac8
push esi
call edi
pop ecx
pop ecx
test eax, eax
jne 0x76e2b9f6
and dword [ebp - 0x1c], eax
mov dword [ebp - 0x24], 3
jmp 0x76e2ba1a
mov eax, dword [ebp - 0x24]
dec eax
je 0x76e2ba0c
dec eax
je 0x76e2ba07
dec eax
jne 0x76e2ba1a
mov eax, dword [ebp + 0x1c]
jmp 0x76e2ba0f
mov eax, dword [ebp + 0x14]
jmp 0x76e2ba0f
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x1c]
mov dword [eax + ecx*4], esi
inc dword [ebp - 0x1c]
push esi
call dword [sym.imp.msvcrt.dll_wcslen]
pop ecx
lea esi, [esi + eax*2 + 2]
jmp 0x76e2b995
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor edi, edi
cmp dword [ebp - 0x20], edi
je 0x76e2babb
mov eax, dword [ebp + 0x10]
mov dword [eax], edi
mov eax, dword [ebp + 0x18]
mov dword [eax], edi
mov eax, dword [ebp + 0x20]
mov dword [eax], edi
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
cmp eax, edi
je 0x76e2ba7e
push eax
call sym.adsldpc.dll_FreeADsMem
mov eax, dword [ebp + 0x14]
mov eax, dword [eax]
cmp eax, edi
je 0x76e2ba8d
push eax
call sym.adsldpc.dll_FreeADsMem
mov esi, dword [ebp + 0x1c]
mov eax, dword [esi]
cmp eax, edi
je 0x76e2ba9c
push eax
call sym.adsldpc.dll_FreeADsMem
mov edi, dword [ebp + 0x24]
mov eax, dword [edi]
xor ebx, ebx
cmp eax, ebx
je 0x76e2baad
push eax
call sym.adsldpc.dll_FreeADsMem
mov eax, dword [ebp + 0xc]
mov dword [eax], ebx
mov eax, dword [ebp + 0x14]
mov dword [eax], ebx
mov dword [esi], ebx
mov dword [edi], ebx
mov eax, dword [ebp - 0x20]
call fcn.76e113e0
ret 0x20