Function at 0x454b20
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1040
call fcn.005333b0
mov eax, dword [0x57c870]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov al, byte [0x5f4a83]
mov byte [ebp - 0x310], al
push 0x1ff
push 0
lea ecx, [ebp - 0x30f]
push ecx
call fcn.005323e0
add esp, 0xc
mov dl, byte [0x5f4a84]
mov byte [ebp - 0x920], dl
push 0x1ff
push 0
lea eax, [ebp - 0x91f]
push eax
call fcn.005323e0
add esp, 0xc
mov cl, byte [0x5f4a85]
mov byte [ebp - 0x110], cl
push 0xff
push 0
lea edx, [ebp - 0x10f]
push edx
call fcn.005323e0
add esp, 0xc
mov al, byte [0x5f4a86]
mov byte [ebp - 0xb28], al
push 0x1ff
push 0
lea ecx, [ebp - 0xb27]
push ecx
call fcn.005323e0
add esp, 0xc
mov dl, byte [0x5f4a87]
mov byte [ebp - 0x718], dl
push 0x1ff
push 0
lea eax, [ebp - 0x717]
push eax
call fcn.005323e0
add esp, 0xc
mov dword [ebp - 8], 0
mov cl, byte [0x5f4a88]
mov byte [ebp - 0x510], cl
push 0x1ff
push 0
lea edx, [ebp - 0x50f]
push edx
call fcn.005323e0
add esp, 0xc
fldz
fstp dword [ebp - 4]
fldz
fstp dword [ebp - 0x928]
fldz
fstp dword [ebp - 0x514]
mov dword [ebp - 0x71c], 0
mov dword [ebp - 0x924], 0
push str.http:__dyned.net_courses
mov eax, dword [ebp + 0x10]
push eax
call fcn.0053617f
add esp, 8
test eax, eax
jne 0x454c57
push 0x5631a0
mov ecx, dword [ebp + 0x10]
push ecx
call fcn.00532580
add esp, 8
push 0x5f6644
push 0x5f70d8
call fcn.00489e10
add esp, 8
mov edx, dword [ebp + 0xc]
push edx
lea eax, [ebp - 0x510]
push eax
call fcn.00532580
add esp, 8
cmp dword [0x5f6644], 1
jne 0x454ca7
mov ecx, dword [0x5f6640]
push ecx
push 0x5f70d8
push 0x5631d4
lea edx, [ebp - 0x110]
push edx
call fcn.00532706
add esp, 0x10
jmp 0x454cae
mov byte [ebp - 0x110], 0
lea eax, [ebp - 0x510]
push eax
mov ecx, dword [ebp + 8]
push ecx
push 0x5631dc
lea edx, [ebp - 0xb28]
push edx
call fcn.00532706
add esp, 0x10
mov eax, dword [ebp + 0x10]
push eax
lea ecx, [ebp - 0x718]
push ecx
call fcn.00532580
add esp, 8
push 0x5631e4
lea edx, [ebp - 0x510]
push edx
call fcn.00532680
add esp, 8
test eax, eax
jne 0x454d5d
push str.elective_d
mov eax, dword [ebp + 0x10]
push eax
call fcn.00532680
add esp, 8
test eax, eax
jne 0x454d5d
lea ecx, [ebp - 0x718]
push ecx
call fcn.0053ac2a
add esp, 4
push str.Setup.exe
lea edx, [ebp - 0x510]
push edx
call fcn.00532680
add esp, 8
test eax, eax
jne 0x454d5b
push str.Videodrv.exe
lea eax, [ebp - 0x510]
push eax
call fcn.00532680
add esp, 8
test eax, eax
jne 0x454d5b
lea ecx, [ebp - 0x510]
push ecx
call fcn.0053aa0e
add esp, 4
jmp 0x454d69
mov edx, dword [ebp - 0x71c]
mov dword [ebp - 0x71c], edx
push 7
push str.http:__
lea eax, [ebp - 0x718]
push eax
call fcn.00532db5
add esp, 0xc
test eax, eax
jne 0x454d9b
lea ecx, [ebp - 0x711]
push ecx
lea edx, [ebp - 0x310]
push edx
call fcn.00532580
add esp, 8
jmp 0x454db1
lea eax, [ebp - 0x718]
push eax
lea ecx, [ebp - 0x310]
push ecx
call fcn.00532580
add esp, 8
push 0x563218
lea edx, [ebp - 0x310]
push edx
call fcn.00532680
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x454e11
mov eax, dword [ebp - 8]
push eax
lea ecx, [ebp - 0x920]
push ecx
call fcn.00532580
add esp, 8
push 0x56321c
lea edx, [ebp - 0x920]
push edx
call fcn.00532590
add esp, 8
lea eax, [ebp - 0x510]
push eax
lea ecx, [ebp - 0x920]
push ecx
call fcn.00532590
add esp, 8
mov edx, dword [ebp - 8]
mov byte [edx], 0
cmp dword [0x5f711c], 0
jne 0x454e4f
cmp dword [0x5f6624], 0
jne 0x454e4f
push 0
push 0x5fffa
push 0
call dword [sym.imp.KERNEL32.dll_HeapCreate]
mov dword [0x5f711c], eax
push 0x5fffa
push 0
mov eax, dword [0x5f711c]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov dword [0x5f6624], eax
push 0x5c66d8
lea ecx, [ebp - 0x510]
push ecx
call fcn.005327a0
add esp, 8
test eax, eax
jne 0x454f13
mov dl, byte [0x5f4a89]
mov byte [ebp - 0xd30], dl
push 0xfe
push 0
lea eax, [ebp - 0xd2f]
push eax
call fcn.005323e0
add esp, 0xc
mov cl, byte [0x5f4a8a]
mov byte [ebp - 0xc28], cl
push 0xfe
push 0
lea edx, [ebp - 0xc27]
push edx
call fcn.005323e0
add esp, 0xc
mov dword [ebp - 0xc2c], 0
push 0x5c66d8
push 0x5c5ed8
push 0x563220
lea eax, [ebp - 0xd30]
push eax
call fcn.00532706
add esp, 0x10
push 0x5c66d8
push 0x5c5ed8
push 0x563228
lea ecx, [ebp - 0xc28]
push ecx
call fcn.00532706
add esp, 0x10
push 0
lea edx, [ebp - 0xc28]
push edx
lea eax, [ebp - 0xd30]
push eax
call fcn.00488080
add esp, 0xc
mov dword [ebp - 0xc2c], eax
call fcn.00483eb0
fstp dword [ebp - 4]
lea ecx, [ebp - 0x71c]
push ecx
push 0x5f6624
push 0
push 0x5f4a8b
push 0
push 0
push 1
lea edx, [ebp - 0xb28]
push edx
lea eax, [ebp - 0x110]
push eax
lea ecx, [ebp - 0x920]
push ecx
lea edx, [ebp - 0x310]
push edx
call fcn.00432ac0
add esp, 0x2c
call fcn.00483eb0
fstp dword [ebp - 0x928]
push 0x5c66d8
lea eax, [ebp - 0x510]
push eax
call fcn.005327a0
add esp, 8
test eax, eax
jne 0x455033
cmp dword [ebp - 0x71c], 1
jne 0x455033
mov cl, byte [0x5f4a8c]
mov byte [ebp - 0xf38], cl
push 0xfe
push 0
lea edx, [ebp - 0xf37]
push edx
call fcn.005323e0
add esp, 0xc
mov al, byte [0x5f4a8d]
mov byte [ebp - 0xe30], al
push 0xfe
push 0
lea ecx, [ebp - 0xe2f]
push ecx
call fcn.005323e0
add esp, 0xc
mov dword [ebp - 0xe34], 0
push 0x5c66d8
push 0x5c5ed8
push 0x563234
lea edx, [ebp - 0xe30]
push edx
call fcn.00532706
add esp, 0x10
push 0x5c66d8
push 0x5c5ed8
push str._s_s.bak
lea eax, [ebp - 0xf38]
push eax
call fcn.00532706
add esp, 0x10
push 0
lea ecx, [ebp - 0xe30]
push ecx
lea edx, [ebp - 0xf38]
push edx
call fcn.00488080
add esp, 0xc
mov dword [ebp - 0xe34], eax
cmp dword [ebp - 0x71c], 0
jne 0x455046
mov dword [ebp - 0x924], 1
push 0xc
mov eax, dword [0x5f6624]
push eax
lea ecx, [ebp - 0x718]
push ecx
call fcn.00532bd0
add esp, 0xc
mov byte [ebp - 0x70c], 0
lea edx, [ebp - 0x718]
push edx
call fcn.0053aa0e
add esp, 4
push str.404_Not_Found
mov eax, dword [0x5f6624]
push eax
call fcn.00532680
add esp, 8
test eax, eax
jne 0x45516a
push str.cannot_be_found
mov ecx, dword [0x5f6624]
push ecx
call fcn.00532680
add esp, 8
test eax, eax
jne 0x45516a
push str.Page_Not_Found
mov edx, dword [0x5f6624]
push edx
call fcn.00532680
add esp, 8
test eax, eax
jne 0x45516a
push str.URL_was_not_found
mov eax, dword [0x5f6624]
push eax
call fcn.00532680
add esp, 8
test eax, eax
jne 0x45516a
push 0xc
push 0x56328c
lea ecx, [ebp - 0x718]
push ecx
call fcn.00532db5
add esp, 0xc
test eax, eax
je 0x45516a
push 6
push 0x56329c
lea edx, [ebp - 0x718]
push edx
call fcn.00532db5
add esp, 0xc
test eax, eax
je 0x45516a
push str..DZP
lea eax, [ebp - 0x920]
push eax
call fcn.00532680
add esp, 8
test eax, eax
je 0x455136
cmp dword [ebp - 0x71c], 1
je 0x45516a
push 0xc
push 0x5632ac
mov ecx, dword [0x5f6624]
push ecx
call fcn.00532db5
add esp, 0xc
test eax, eax
je 0x45516a
push 6
push 0x5632bc
mov edx, dword [0x5f6624]
push edx
call fcn.00532db5
add esp, 0xc
test eax, eax
jne 0x4551a4
mov dword [ebp - 0x924], 1
push 0x5c66d8
lea eax, [ebp - 0x510]
push eax
call fcn.005327a0
add esp, 8
test eax, eax
je 0x4551a4
cmp dword [ebp - 0x71c], 1
jne 0x4551a4
lea ecx, [ebp - 0xb28]
push ecx
call fcn.00429360
add esp, 4
fld dword [ebp - 0x928]
fsub dword [ebp - 4]
fcomp qword [0x54b688]
fnstsw ax
test ah, 0x44
jnp 0x4551dd
fild dword [ebp - 0x71c]
fmul qword [0x54b6c0]
fdiv qword [0x54b6b8]
fld dword [ebp - 0x928]
fsub dword [ebp - 4]
fdivp st(1)
fstp dword [ebp - 0x514]
fld dword [ebp - 0x514]
call fcn.00532f90
push eax
fld dword [ebp - 0x928]
fsub dword [ebp - 4]
sub esp, 8
fstp qword [esp]
mov edx, dword [ebp - 0x71c]
push edx
lea eax, [ebp - 0xb28]
push eax
push str.DownloadFile:__s___Bytes_ld__Seconds:_f___Kb_sec:_d
lea ecx, [ebp - 0x718]
push ecx
call fcn.00532706
add esp, 0x1c
lea edx, [ebp - 0x718]
push edx
push 1
call fcn.00436500
add esp, 8
cmp dword [ebp - 0x924], 0
jne 0x45531e
lea eax, [ebp - 0xb28]
push eax
call fcn.00423310
add esp, 4
cmp eax, 1
jne 0x45531e
mov cl, byte [0x5f4a8e]
mov byte [ebp - 0x1040], cl
push 0xfe
push 0
lea edx, [ebp - 0x103f]
push edx
call fcn.005323e0
add esp, 0xc
push 0x5632fc
lea eax, [ebp - 0xb28]
push eax
call fcn.0042eaa0
add esp, 8
mov dword [ebp - 0xf3c], eax
cmp dword [ebp - 0xf3c], 0
je 0x45531e
mov ecx, dword [ebp - 0xf3c]
push ecx
push 1
push 0xc
lea edx, [ebp - 0x1040]
push edx
call fcn.0053367b
add esp, 0x10
mov eax, dword [ebp - 0xf3c]
push eax
call fcn.00431d50
add esp, 4
lea ecx, [ebp - 0x1040]
push ecx
call fcn.0053aa0e
add esp, 4
push 0xc
push str.__DOCTYPE_HTML
lea edx, [ebp - 0x1040]
push edx
call fcn.00532db5
add esp, 0xc
test eax, eax
je 0x455305
push 6
push 0x563310
lea eax, [ebp - 0x1040]
push eax
call fcn.00532db5
add esp, 0xc
test eax, eax
jne 0x45531e
lea ecx, [ebp - 0xb28]
push ecx
call fcn.00429360
add esp, 4
mov dword [ebp - 0x924], 1
lea edx, [ebp - 0xb28]
push edx
call fcn.0042c0b0
add esp, 4
test eax, eax
jne 0x455340
lea eax, [ebp - 0xb28]
push eax
call fcn.00429360
add esp, 4
cmp dword [ebp - 0x924], 0
jne 0x45536b
push 0x5c66d8
lea ecx, [ebp - 0x510]
push ecx
call fcn.005327a0
add esp, 8
test eax, eax
jne 0x45536b
mov dword [0x5f4a78], 1
mov eax, dword [ebp - 0x924]
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.00532783
mov esp, ebp
pop ebp
ret