Function at 0x4802a0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4d7926
mov eax, dword fs:[0]
push eax
mov eax, 0x1040
call fcn.004bdb70
mov eax, dword [0x52600c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x1044], esi
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1048], eax
mov dword [ebp - 0x1030], 0
mov dword [ebp - 0x102c], 0xf
mov byte [ebp - 0x1040], 0
mov dword [ebp - 4], 0
mov ebx, eax
cmp dword [esi + 0x30], 0
mov dword [ebp - 0x104c], ebx
je 0x480331
mov edi, dword [esi + 0x2c]
lea ecx, [esi + 0x2c]
call dword [edi + 0x20]
push eax
push ebx
lea ecx, [esi + 0x2c]
call dword [edi + 0x14]
test eax, eax
je 0x4805b3
jmp 0x480580
test byte [esi + 0x10], 1
je 0x480580
cmp dword [esi + 0x28], 0x10
lea edx, [esi + 0x14]
jb 0x480347
mov edx, dword [esi + 0x14]
mov ecx, edx
mov dword [ebp - 0x1018], 0
mov dword [ebp - 0x1014], 0xf
mov byte [ebp - 0x1028], 0
lea eax, [ecx + 1]
mov dword [ebp - 0x1044], eax
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x480370
sub ecx, dword [ebp - 0x1044]
push ecx
push edx
lea ecx, [ebp - 0x1028]
call fcn.00428740
lea eax, [ebp - 0x1028]
mov byte [ebp - 4], 1
push eax
lea ecx, [esi + 0x54]
call fcn.00480a60
mov eax, dword [eax]
mov ecx, dword [eax + 0x10]
mov byte [ebp - 4], 0
mov edx, dword [ebp - 0x1014]
mov dword [ebp - 0x1044], ecx
cmp edx, 0x10
jb 0x4803ec
mov ecx, dword [ebp - 0x1028]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4803dc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x48060b
push edx
push ecx
call fcn.004bcfdd
mov ecx, dword [ebp - 0x1044]
add esp, 8
mov eax, dword [esi + 0x10]
shr eax, 1
test al, 1
je 0x480410
push 0x578274
push ecx
mov ecx, 0x578274
call fcn.0042cba0
mov eax, dword [0x578274]
mov dword [ebp - 0x1048], eax
cmp dword [esi + 0x28], 0x10
lea eax, [esi + 0x14]
jb 0x48041c
mov eax, dword [esi + 0x14]
push eax
mov ecx, esi
call fcn.00480970
test al, al
je 0x4805ae
push 0
lea eax, [esi + 8]
push eax
push dword [ebp - 0x1044]
push dword [ebp - 0x1048]
push dword [esi + 4]
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x4805ae
mov eax, dword [esi + 0x10]
shr eax, 1
test al, 1
je 0x480580
mov eax, dword [ebp - 0x1048]
xor edi, edi
mov dword [ebp - 0x101c], eax
xor esi, esi
mov eax, dword [ebp - 0x1044]
mov dword [ebp - 0x1018], eax
lea eax, [ebp - 0x1010]
movq xmm0, qword [ebp - 0x101c]
push 0xfee
push edi
push eax
movq qword [ebp - 0x101c], xmm0
call fcn.004bf140
xor ecx, ecx
add esp, 0xc
mov eax, 0xfee
cmp dword [ebp - 0x1044], ecx
jbe 0x480580
mov edx, dword [ebp - 0x101c]
shr ecx, 1
mov dword [ebp - 0x1048], ecx
test ecx, 0x100
jne 0x4804d9
mov cl, byte [edx + esi]
inc esi
movzx ecx, cl
or ecx, 0xff00
mov dword [ebp - 0x1048], ecx
test cl, 1
je 0x4804f8
mov dl, byte [edx + esi]
inc esi
movzx ecx, ax
inc eax
mov byte [edi + ebx], dl
inc edi
and eax, 0xfff
mov byte [ebp + ecx - 0x1010], dl
jmp 0x48056e
mov bl, byte [edx + esi]
mov cl, byte [edx + esi + 1]
add esi, 2
mov dword [ebp - 0x1044], esi
movzx esi, cl
mov edx, esi
movzx ecx, bl
and edx, 0xf0
and esi, 0xf
shl edx, 4
add esi, 3
or dx, cx
movzx ecx, si
xor esi, esi
movzx edx, dx
cmp si, cx
jae 0x480562
mov esi, edx
mov ebx, ecx
mov ecx, esi
inc esi
and ecx, 0xfff
mov dl, byte [ebp + ecx - 0x1010]
mov ecx, dword [ebp - 0x104c]
mov byte [edi + ecx], dl
inc edi
movzx ecx, ax
inc eax
and eax, 0xfff
mov byte [ebp + ecx - 0x1010], dl
sub ebx, 1
jne 0x480533
mov ebx, dword [ebp - 0x104c]
mov esi, dword [ebp - 0x1044]
mov ecx, dword [ebp - 0x1048]
cmp esi, dword [ebp - 0x1018]
jb 0x4804b0
lea ecx, [ebp - 0x1040]
call fcn.00428650
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004bcfcc
mov esp, ebp
pop ebp
ret 4
lea ecx, [esi + 0x14]
jmp 0x4805bc
mov ecx, dword [ebp - 0x1044]
add ecx, 0x14
call fcn.00428550
push eax
push 0x510b78
lea eax, [ebp - 0x1028]
push eax
lea eax, [ebp - 0x1040]
push eax
call fcn.004a9b80
add esp, 0x10
lea ecx, [ebp - 0x1028]
call fcn.00428650
lea eax, [ebp - 0x1040]
push eax
lea ecx, [ebp - 0x1028]
call fcn.004286b0
push 0x523470
lea eax, [ebp - 0x1028]
push eax
call fcn.004bf896
call fcn.004c12b9
int3