Function at 0x485970
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x44
mov dword [ebp - 0x44], ecx
cmp dword [ebp + 8], 0
jne 0x485987
or eax, 0xffffffff
jmp 0x485cbd
push 2
push 0
push 0
mov eax, dword [ebp + 8]
push eax
call fcn.004a3b45
add esp, 0x10
mov ecx, dword [ebp + 8]
push ecx
call fcn.004a3a5f
add esp, 4
mov dword [ebp - 8], eax
mov dword [ebp - 4], edx
cmp dword [ebp - 4], 0
jg 0x4859c1
jl 0x4859b9
cmp dword [ebp - 8], 0x34
jae 0x4859c1
or eax, 0xffffffff
jmp 0x485cbd
mov dword [ebp - 0x10], 0
xor edx, edx
mov dword [ebp - 0xc], edx
push 0
mov eax, dword [ebp - 8]
sub eax, 8
mov ecx, dword [ebp - 4]
sbb ecx, 0
push ecx
push eax
mov edx, dword [ebp + 8]
push edx
call fcn.004a3b45
add esp, 0x10
mov eax, dword [ebp + 8]
push eax
push 8
push 1
lea ecx, [ebp - 0x10]
push ecx
call fcn.004544a3
add esp, 0x10
cmp dword [ebp - 0x10], 0x123abcd
jne 0x485cba
mov edx, dword [ebp - 8]
cmp dword [ebp - 0xc], edx
jae 0x485cba
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0xc]
mov dword [eax + 0xf28], ecx
mov edx, dword [ebp - 0x44]
mov eax, dword [edx + 0xf28]
push eax
call fcn.00452e85
add esp, 4
mov ecx, dword [ebp - 0x44]
mov dword [ecx + 0xf24], eax
mov edx, dword [ebp - 0x44]
cmp dword [edx + 0xf24], 0
je 0x485cba
mov eax, dword [ebp - 0x44]
mov ecx, dword [eax + 0xf28]
push ecx
push 0
mov edx, dword [ebp - 0x44]
mov eax, dword [edx + 0xf24]
push eax
call fcn.004550c0
add esp, 0xc
push 0
mov ecx, dword [ebp - 0x44]
mov edx, dword [ecx + 0xf28]
xor eax, eax
mov ecx, dword [ebp - 8]
sub ecx, edx
mov edx, dword [ebp - 4]
sbb edx, eax
push edx
push ecx
mov eax, dword [ebp + 8]
push eax
call fcn.004a3b45
add esp, 0x10
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [ebp - 0x44]
mov eax, dword [edx + 0xf28]
push eax
push 1
mov ecx, dword [ebp - 0x44]
mov edx, dword [ecx + 0xf24]
push edx
call fcn.004544a3
add esp, 0x10
mov eax, dword [ebp - 0x44]
mov ecx, dword [eax + 0xf24]
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x14]
cmp dword [edx], 0x2000000
jne 0x485c8e
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0x20], 0
jbe 0x485c88
mov ecx, dword [ebp - 0x14]
cmp dword [ecx + 0x24], 0xc
jb 0x485c88
mov dword [ebp - 0x1c], 0
mov edx, dword [ebp - 0x44]
mov eax, dword [edx + 0xf24]
add eax, 0x2c
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x20], 0
jmp 0x485b0f
mov ecx, dword [ebp - 0x20]
add ecx, 1
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
cmp eax, dword [edx + 0x20]
jae 0x485c88
mov dword [ebp - 0x24], 0
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x1c], ecx
cmp dword [ebp - 0x1c], 0
je 0x485c77
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 4]
xor ecx, ecx
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], ecx
lea edx, [ebp - 0x40]
push edx
mov ecx, dword [ebp - 0x44]
add ecx, 0xf5c
call fcn.0048e500
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 8]
and ecx, 1
je 0x485bce
push 0
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 4]
add eax, 0xc
xor ecx, ecx
push ecx
push eax
mov edx, dword [ebp + 8]
push edx
call fcn.004a3b45
add esp, 0x10
mov eax, dword [ebp + 8]
push eax
push 4
push 1
lea ecx, [ebp - 0x24]
push ecx
call fcn.004544a3
add esp, 0x10
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x24]
sub eax, dword [edx + 0x520]
add eax, 1
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x2c], 0
xor ecx, ecx
mov dword [ebp - 0x28], ecx
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x28], ecx
lea edx, [ebp - 0x2c]
push edx
mov ecx, dword [ebp - 0x44]
add ecx, 0xf2c
call fcn.0048e360
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 8]
and ecx, 2
je 0x485be6
push 0x5bb8ff
call sym.TDPlayer.exe_sdk_log_msg
add esp, 4
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 8]
and eax, 4
je 0x485bfe
push 0x5bb8ff
call sym.TDPlayer.exe_sdk_log_msg
add esp, 4
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 8]
and edx, 8
je 0x485c77
push 0
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 4]
add ecx, 0xc
xor edx, edx
push edx
push ecx
mov eax, dword [ebp + 8]
push eax
call fcn.004a3b45
add esp, 0x10
mov ecx, dword [ebp + 8]
push ecx
push 4
push 1
lea edx, [ebp - 0x24]
push edx
call fcn.004544a3
add esp, 0x10
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x24]
sub ecx, dword [eax + 0x520]
add ecx, 1
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x34], 0
xor edx, edx
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x30], edx
lea eax, [ebp - 0x34]
push eax
mov ecx, dword [ebp - 0x44]
add ecx, 0xf44
call fcn.0048e360
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x18]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x18], edx
jmp 0x485b06
xor eax, eax
jmp 0x485cbd
mov eax, dword [ebp - 0x44]
mov ecx, dword [eax + 0xf24]
push ecx
call fcn.00452f4f
add esp, 4
mov edx, dword [ebp - 0x44]
mov dword [edx + 0xf24], 0
mov eax, dword [ebp - 0x44]
mov dword [eax + 0xf28], 0
or eax, 0xffffffff
mov esp, ebp
pop ebp
ret 4