Function at 0x464100
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x658
mov eax, dword [0x57c870]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x314], 1
mov dword [ebp - 8], 0
mov al, byte [0x5f658f]
mov byte [ebp - 0x418], al
push 0xfe
push 0
lea ecx, [ebp - 0x417]
push ecx
call fcn.005323e0
add esp, 0xc
mov dl, byte [0x5f6590]
mov byte [ebp - 0x310], dl
push 0x1ff
push 0
lea eax, [ebp - 0x30f]
push eax
call fcn.005323e0
add esp, 0xc
mov cl, byte [0x5f6591]
mov byte [ebp - 0x110], cl
push 0xfe
push 0
lea edx, [ebp - 0x10f]
push edx
call fcn.005323e0
add esp, 0xc
mov dword [ebp - 4], 0
push str.WD_LoginInfo
push 3
call fcn.00436500
add esp, 8
push str.dyned.net
mov eax, dword [ebp + 8]
push eax
call fcn.00532580
add esp, 8
push str.clients_dyned.net
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.00532580
add esp, 8
push str.X429189_
mov edx, dword [ebp + 0x10]
push edx
call fcn.00532580
add esp, 8
push 0x56572c
mov eax, dword [ebp + 0x14]
push eax
call fcn.00532580
add esp, 8
mov ecx, 0x81d
mov edx, dword [ebp + 0x18]
mov word [edx], cx
cmp dword [0x5f6594], 0
jne 0x46422e
push str.http:__download.dyned.com_softwareupdates_courses
mov eax, dword [str.LESSON.PDF]
push eax
push 0x5c5ed8
call fcn.00454b20
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x464224
mov dword [0x5f6594], 1
jmp 0x46422e
mov dword [0x5f6594], 0
cmp dword [0x5f6594], 0
je 0x4648fe
mov ecx, dword [str.LESSON.PDF]
push ecx
push 0x5c5ed8
push 0x565730
lea edx, [ebp - 0x418]
push edx
call fcn.00532706
add esp, 0x10
lea eax, [ebp - 0x418]
push eax
call fcn.00423310
add esp, 4
test eax, eax
je 0x4648fe
mov dword [ebp - 0x41c], 0
mov dword [ebp - 0x420], 0
mov dword [ebp - 0x424], 0
push 0x565738
lea ecx, [ebp - 0x418]
push ecx
call fcn.0042eaa0
add esp, 8
mov dword [ebp - 0x41c], eax
cmp dword [ebp - 0x41c], 0
je 0x464504
push 2
push 0
mov edx, dword [ebp - 0x41c]
push edx
call fcn.00532940
add esp, 0xc
test eax, eax
je 0x4642e4
mov eax, dword [ebp - 0x41c]
push eax
call fcn.00431d50
add esp, 4
xor eax, eax
jmp 0x464904
mov ecx, dword [ebp - 0x41c]
push ecx
call fcn.00532b62
add esp, 4
mov dword [ebp - 0x420], eax
cmp dword [ebp - 0x420], 0xffffffff
jne 0x464318
mov edx, dword [ebp - 0x41c]
push edx
call fcn.00431d50
add esp, 4
xor eax, eax
jmp 0x464904
mov eax, dword [ebp - 0x41c]
push eax
call fcn.005352ea
add esp, 4
mov ecx, dword [ebp - 0x420]
add ecx, 5
push ecx
call fcn.005324a9
add esp, 4
mov dword [ebp - 0x424], eax
cmp dword [ebp - 0x424], 0
je 0x4644f5
mov edx, dword [ebp - 0x41c]
push edx
mov eax, dword [ebp - 0x420]
push eax
push 1
mov ecx, dword [ebp - 0x424]
push ecx
call fcn.0053367b
add esp, 0x10
cmp eax, dword [ebp - 0x420]
jne 0x4644f5
push 8
push 0x56573c
mov edx, dword [ebp - 0x424]
push edx
call fcn.0053387c
add esp, 0xc
test eax, eax
jne 0x4644dc
mov dword [ebp - 0x42c], 0
mov dword [ebp - 0x428], 0
mov dword [ebp - 0x430], 0
mov eax, dword [ebp - 0x424]
add eax, 8
mov dword [ebp - 0x428], eax
mov ecx, dword [ebp - 0x428]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x428]
movzx ecx, byte [eax + 1]
shl ecx, 8
add edx, ecx
mov eax, dword [ebp - 0x428]
movzx ecx, byte [eax + 2]
shl ecx, 8
shl ecx, 8
add edx, ecx
mov eax, dword [ebp - 0x428]
movzx ecx, byte [eax + 3]
shl ecx, 8
shl ecx, 8
shl ecx, 8
add edx, ecx
mov dword [ebp - 0x420], edx
mov edx, dword [ebp - 0x424]
add edx, 0xc
mov dword [ebp - 0x428], edx
mov eax, dword [ebp - 0x428]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x428]
movzx eax, byte [edx + 1]
shl eax, 8
add ecx, eax
mov edx, dword [ebp - 0x428]
movzx eax, byte [edx + 2]
shl eax, 8
shl eax, 8
add ecx, eax
mov edx, dword [ebp - 0x428]
movzx eax, byte [edx + 3]
shl eax, 8
shl eax, 8
shl eax, 8
add ecx, eax
mov dword [ebp - 0x42c], ecx
mov ecx, dword [ebp - 0x42c]
add ecx, 5
push ecx
call fcn.005324a9
add esp, 4
mov dword [ebp - 0x430], eax
mov edx, dword [ebp - 0x420]
push edx
mov eax, dword [ebp - 0x424]
add eax, 0x10
push eax
lea ecx, [ebp - 0x42c]
push ecx
mov edx, dword [ebp - 0x430]
push edx
call fcn.0049d3d0
add esp, 0x10
mov eax, dword [ebp - 0x424]
push eax
call fcn.00532828
add esp, 4
mov dword [ebp - 0x424], 0
mov ecx, dword [ebp - 0x42c]
mov dword [ebp - 0x420], ecx
mov edx, dword [ebp - 0x430]
mov dword [ebp - 0x424], edx
mov eax, dword [ebp - 0x424]
add eax, dword [ebp - 0x420]
mov byte [eax], 0
jmp 0x4644f5
mov ecx, dword [ebp - 0x424]
push ecx
call fcn.00532828
add esp, 4
mov dword [ebp - 0x424], 0
mov edx, dword [ebp - 0x41c]
push edx
call fcn.00431d50
add esp, 4
mov byte [ebp - 0x110], 0
cmp dword [ebp - 0x424], 0
je 0x4646de
push 0x2f
mov eax, dword [ebp + 0x1c]
push eax
call fcn.005350b0
add esp, 8
mov dword [ebp - 0x434], eax
cmp dword [ebp - 0x434], 0
je 0x46457e
push 0x2f
mov ecx, dword [ebp - 0x434]
add ecx, 1
push ecx
call fcn.005350b0
add esp, 8
mov dword [ebp - 0x438], eax
cmp dword [ebp - 0x438], 0
je 0x46457e
mov edx, dword [ebp - 0x438]
sub edx, dword [ebp - 0x434]
push edx
mov eax, dword [ebp - 0x434]
add eax, 1
push eax
lea ecx, [ebp - 0x110]
push ecx
call fcn.00532bd0
add esp, 0xc
movsx edx, byte [ebp - 0x110]
test edx, edx
jne 0x4645e2
mov eax, dword [ebp + 0x1c]
push eax
call fcn.00532e80
add esp, 4
cmp eax, 0x1e
jne 0x4645bf
mov ecx, dword [ebp + 0x1c]
push ecx
call fcn.00532e80
add esp, 4
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax - 0x11]
push eax
lea ecx, [ebp - 0x110]
push ecx
call fcn.00532580
add esp, 8
jmp 0x4645e2
mov edx, dword [ebp + 0x1c]
push edx
call fcn.00532e80
add esp, 4
mov ecx, dword [ebp + 0x1c]
lea edx, [ecx + eax - 0xa]
push edx
lea eax, [ebp - 0x110]
push eax
call fcn.00532580
add esp, 8
mov byte [ebp - 0x107], 0
mov dword [ebp - 4], 0
jmp 0x4645fb
mov ecx, dword [ebp - 4]
add ecx, 1
mov dword [ebp - 4], ecx
cmp dword [ebp - 4], 3
jge 0x4646c5
lea edx, [ebp - 0x110]
push edx
mov eax, dword [ebp - 0x424]
push eax
call fcn.00532680
add esp, 8
mov dword [ebp - 0x43c], eax
cmp dword [ebp - 0x43c], 0
je 0x464681
push 0x565748
mov ecx, dword [ebp - 0x43c]
push ecx
call fcn.00532680
add esp, 8
mov dword [ebp - 0x440], eax
cmp dword [ebp - 0x440], 0
je 0x464656
mov edx, dword [ebp - 0x440]
mov byte [edx], 0
lea eax, [ebp - 0x110]
push eax
call fcn.00532e80
add esp, 4
mov ecx, dword [ebp - 0x43c]
lea edx, [ecx + eax + 1]
push edx
lea eax, [ebp - 0x310]
push eax
call fcn.00532580
add esp, 8
jmp 0x4646c5
cmp dword [ebp - 4], 0
jne 0x46469d
push str.00000
lea ecx, [ebp - 0x10c]
push ecx
call fcn.00532580
add esp, 8
jmp 0x4646c0
cmp dword [ebp - 4], 1
jne 0x4646b9
push str.000_00000
lea edx, [ebp - 0x110]
push edx
call fcn.00532580
add esp, 8
jmp 0x4646c0
mov byte [ebp - 0x110], 0
jmp 0x4645f2
mov eax, dword [ebp - 0x424]
push eax
call fcn.00532828
add esp, 4
mov dword [ebp - 0x424], 0
movsx ecx, byte [ebp - 0x110]
test ecx, ecx
je 0x4648fe
mov dl, byte [0x5f6592]
mov byte [ebp - 0x548], dl
push 0xfe
push 0
lea eax, [ebp - 0x547]
push eax
call fcn.005323e0
add esp, 0xc
mov cl, byte [0x5f6593]
mov byte [ebp - 0x650], cl
push 0xfe
push 0
lea edx, [ebp - 0x64f]
push edx
call fcn.005323e0
add esp, 0xc
mov dword [ebp - 0x54c], 0
mov dword [ebp - 0x444], 0
mov dword [ebp - 0x654], 0
lea eax, [ebp - 0x310]
mov dword [ebp - 0x444], eax
mov dword [ebp - 4], 0
jmp 0x46476d
mov ecx, dword [ebp - 4]
add ecx, 1
mov dword [ebp - 4], ecx
cmp dword [ebp - 4], 5
jge 0x4648fe
mov edx, dword [ebp - 0x444]
movsx eax, byte [edx]
mov dword [ebp - 0x54c], eax
mov ecx, dword [ebp - 0x54c]
push ecx
mov edx, dword [ebp - 0x444]
add edx, 1
push edx
lea eax, [ebp - 0x548]
push eax
call fcn.00532bd0
add esp, 0xc
mov ecx, dword [ebp - 0x54c]
mov byte [ebp + ecx - 0x548], 0
lea edx, [ebp - 0x548]
push edx
lea eax, [ebp - 0x650]
push eax
call fcn.00532580
add esp, 8
mov dword [ebp - 0x654], 0
jmp 0x4647e5
mov ecx, dword [ebp - 0x654]
add ecx, 1
mov dword [ebp - 0x654], ecx
lea edx, [ebp - 0x650]
push edx
call fcn.00532e80
add esp, 4
cmp dword [ebp - 0x654], eax
jge 0x464820
mov eax, dword [ebp - 0x654]
movsx ecx, byte [ebp + eax - 0x650]
mov edx, 0xff
sub edx, ecx
mov eax, dword [ebp - 0x654]
mov byte [ebp + eax - 0x650], dl
jmp 0x4647d6
mov ecx, dword [ebp - 4]
mov dword [ebp - 0x658], ecx
cmp dword [ebp - 0x658], 4
ja case.default.0x46483c
mov edx, dword [ebp - 0x658]
jmp dword [edx*4 + 0x464914]
lea eax, [ebp - 0x650]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00532580
add esp, 8
jmp case.default.0x46483c
lea edx, [ebp - 0x650]
push edx
call fcn.00535089
add esp, 4
mov ecx, dword [ebp + 0x18]
mov word [ecx], ax
jmp case.default.0x46483c
lea edx, [ebp - 0x650]
push edx
mov eax, dword [ebp + 0xc]
push eax
call fcn.00532580
add esp, 8
jmp case.default.0x46483c
lea ecx, [ebp - 0x650]
push ecx
mov edx, dword [ebp + 0x10]
push edx
call fcn.00532580
add esp, 8
jmp case.default.0x46483c
lea eax, [ebp - 0x650]
push eax
mov ecx, dword [ebp + 0x14]
push ecx
call fcn.00532580
add esp, 8
push 2
push 0x565760
mov edx, dword [ebp + 0x14]
push edx
call fcn.00532db5
add esp, 0xc
test eax, eax
jne case.default.0x46483c
lea eax, [ebp - 0x64f]
push eax
mov ecx, dword [ebp + 0x14]
push ecx
call fcn.00532580
add esp, 8
mov dword [0x5f6480], 1
mov edx, dword [ebp - 0x54c]
mov eax, dword [ebp - 0x444]
lea ecx, [eax + edx + 1]
mov dword [ebp - 0x444], ecx
jmp 0x464764
mov eax, dword [ebp - 0x314]
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.00532783
mov esp, ebp
pop ebp
ret