Function at 0x44b2c0
Capabilities:
Read file on windows

Disassembly:
push 0xffffffffffffffff
push 0x546292
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x14
mov eax, dword [esp + 0x24]
push ebx
push esi
push edi
mov esi, ecx
push eax
mov dword [esp + 0x10], esi
call fcn.0043cc70
xor ebx, ebx
or edi, 0xffffffff
lea ecx, [esi + 0x1dc]
mov dword [esp + 0x28], ebx
mov word [esi + 0x1d6], bx
mov word [esi + 0x1d4], bx
mov word [esi + 0x1da], di
mov word [esi + 0x1d8], di
call fcn.004bb6f0
mov word [esi + 0x200], bx
mov word [esi + 0x202], bx
mov dword [esi + 0x204], edi
mov dword [esi + 0x208], edi
mov dword [esi + 0x20c], ebx
mov dword [esi + 0x210], 1
mov dword [esi + 0x214], edi
mov dword [esi + 0x21c], ebx
mov dword [esi + 0x220], ebx
mov dword [esi + 0x224], ebx
mov dword [esi + 0x228], ebx
mov dword [esi + 0x218], ebx
mov dword [esi + 0x23c], ebx
mov dword [esi + 0x240], ebx
mov dword [esi + 0x244], ebx
mov edi, dword [sym.imp.MSVCRT.dll_fread]
mov word [esi + 0x24c], bx
mov word [esi + 0x24e], bx
mov dword [esi], 0x54ce50
mov ecx, dword [0x67a8cc]
push ecx
push 1
lea edx, [esi + 0x1d0]
push 4
push edx
mov byte [esp + 0x38], 3
call edi
mov al, byte [esi + 0x1d1]
add esp, 0x10
cmp al, 1
jg 0x44b404
movsx eax, word [esi + 0x14]
movsx ecx, word [esi + 0x10]
sub eax, ecx
inc eax
cdq
and edx, 0xf
add eax, edx
sar eax, 4
cmp eax, 0xa
jge 0x44b3d9
mov eax, 0xa
movsx edx, word [esi + 0x16]
movsx ecx, word [esi + 0x12]
sub edx, ecx
lea ecx, [esp + 0x18]
inc edx
push edx
push eax
push ebx
push ebx
call fcn.004c9320
mov edx, dword [eax]
mov dword [esi + 0x1d4], edx
mov eax, dword [eax + 4]
mov dword [esi + 0x1d8], eax
jmp 0x44b44b
movsx eax, word [esi + 0x16]
movsx ecx, word [esi + 0x12]
sub eax, ecx
inc eax
cdq
and edx, 0xf
add eax, edx
sar eax, 4
cmp eax, 0xa
jge 0x44b422
mov eax, 0xa
movsx edx, word [esi + 0x14]
push eax
lea ecx, [esp + 0x1c]
movsx eax, word [esi + 0x10]
sub edx, eax
inc edx
push edx
push ebx
push ebx
call fcn.004c9320
mov ecx, dword [eax]
mov dword [esi + 0x1d4], ecx
mov edx, dword [eax + 4]
mov dword [esi + 0x1d8], edx
mov ecx, dword [0x67a8cc]
push ebp
push ecx
lea eax, [esi + 0x22c]
push 4
push 4
push eax
call edi
mov edx, dword [0x67a8cc]
mov ebp, dword [sym.imp.MSVCRT.dll_ftell]
push edx
call ebp
add esp, 0x14
mov ecx, esi
push eax
call fcn.0043e9b0
mov eax, dword [0x67a8cc]
push eax
call ebp
add esp, 4
mov ecx, esi
push eax
call fcn.0043ee20
mov edx, dword [0x67a8cc]
xor ecx, ecx
mov dword [esp + 0x15], ecx
push edx
push 4
lea eax, [esp + 0x1c]
mov word [esp + 0x21], cx
push 1
push eax
mov byte [esp + 0x24], bl
mov byte [esp + 0x2b], cl
call edi
add esp, 0x10
mov ebp, str.sbar
lea edi, [esp + 0x14]
mov cl, byte [edi]
mov dl, byte [ebp]
mov al, cl
cmp cl, dl
jne 0x44b4e7
cmp al, bl
je 0x44b4e3
mov dl, byte [edi + 1]
mov cl, byte [ebp + 1]
mov al, dl
cmp dl, cl
jne 0x44b4e7
add edi, 2
add ebp, 2
cmp al, bl
jne 0x44b4be
xor eax, eax
jmp 0x44b4ec
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x44b5e0
mov eax, dword [0x67a8cc]
mov ebp, dword [sym.imp.MSVCRT.dll_fread]
push eax
push 1
lea edi, [esi + 0x23c]
push 4
push edi
call ebp
mov ecx, dword [0x67a8cc]
lea eax, [esi + 0x240]
push ecx
push 1
push 4
push eax
call ebp
mov edx, dword [0x67a8cc]
lea eax, [esi + 0x244]
push edx
push 1
push 4
push eax
call ebp
mov al, byte [edi]
add esp, 0x30
test al, 2
je 0x44b57d
push 0x24
call fcn.004784b0
add esp, 4
cmp eax, ebx
mov dword [esp + 0x34], eax
je 0x44b573
mov eax, dword [0x67a8cc]
push 1
push eax
call dword [sym.imp.MSVCRT.dll_ftell]
mov ecx, dword [esp + 0x3c]
add esp, 4
push eax
call fcn.00495d60
mov dword [esi + 0x104], eax
jmp 0x44b591
xor eax, eax
mov dword [esi + 0x104], eax
jmp 0x44b591
mov ecx, dword [0x67a8cc]
push 1
push 0x10
push ecx
call dword [sym.imp.MSVCRT.dll_fseek]
add esp, 0xc
mov edx, dword [0x67a8cc]
lea eax, [esi + 0x248]
push edx
push 1
push 4
push eax
call ebp
xor eax, eax
add esp, 0x10
mov al, byte [edi + 1]
cmp eax, ebx
jle 0x44b5e0
cmp byte [esi + 0x1d1], 1
jg 0x44b5ce
mov cx, word [esi + 0x1d4]
add cx, ax
dec ecx
mov word [esi + 0x1d8], cx
jmp 0x44b5e0
mov dx, word [esi + 0x1d6]
add dx, ax
dec edx
mov word [esi + 0x1da], dx
push ebx
mov ecx, esi
call fcn.0044c9d0
push 1
mov ecx, esi
call fcn.0044c9d0
lea ecx, [esi + 0x1f4]
xor eax, eax
pop ebp
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x22c]
cmp eax, ebx
jne 0x44b62c
cmp dword [esi + 0x230], ebx
jne 0x44b62c
cmp dword [esi + 0x234], ebx
jne 0x44b62c
cmp dword [esi + 0x238], ebx
jne 0x44b62c
mov eax, dword [esi + 8]
and al, 0xfe
mov dword [esi + 8], eax
mov ecx, esi
call fcn.0043d3d0
mov ecx, eax
call fcn.004c9d30
mov ecx, eax
mov eax, 0x55555556
imul ecx
mov eax, edx
mov ecx, esi
shr eax, 0x1f
add edx, eax
push edx
call fcn.0043d3d0
mov ecx, eax
call fcn.004c9eb0
mov ecx, dword [esi + 8]
mov eax, esi
and ch, 0xfd
pop edi
or ch, 1
mov dword [esi + 8], ecx
mov ecx, dword [esp + 0x1c]
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x20
ret 4