Function at 0x42f1f0
Capabilities:
Read .ini file
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xb30
mov eax, dword [0x57c870]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x310], 0
mov dword [ebp - 0x828], 0
mov dword [ebp - 0x820], 0
mov dword [ebp - 0x714], 0
mov al, byte [0x5c6e1f]
mov byte [ebp - 0x308], al
push 0xfe
push 0
lea ecx, [ebp - 0x307]
push ecx
call fcn.005323e0
add esp, 0xc
mov dl, byte [0x5c6e21]
mov byte [ebp - 0x208], dl
push 0xfe
push 0
lea eax, [ebp - 0x207]
push eax
call fcn.005323e0
add esp, 0xc
mov cl, byte [0x5c6e23]
mov byte [ebp - 0xa28], cl
push 0xfe
push 0
lea edx, [ebp - 0xa27]
push edx
call fcn.005323e0
add esp, 0xc
mov al, byte [0x5c6e24]
mov byte [ebp - 0x410], al
push 0xfe
push 0
lea ecx, [ebp - 0x40f]
push ecx
call fcn.005323e0
add esp, 0xc
mov dl, byte [0x5c6e25]
mov byte [ebp - 0x928], dl
push 0xfe
push 0
lea eax, [ebp - 0x927]
push eax
call fcn.005323e0
add esp, 0xc
mov cl, byte [0x5c6e26]
mov byte [ebp - 0x818], cl
push 0xfe
push 0
lea edx, [ebp - 0x817]
push edx
call fcn.005323e0
add esp, 0xc
mov al, byte [0x5c6e27]
mov byte [ebp - 0x108], al
push 0xfe
push 0
lea ecx, [ebp - 0x107]
push ecx
call fcn.005323e0
add esp, 0xc
mov dl, byte [0x5c6e29]
mov byte [ebp - 0x710], dl
push 0xfe
push 0
lea eax, [ebp - 0x70f]
push eax
call fcn.005323e0
add esp, 0xc
mov cl, byte [0x5c6e2b]
mov byte [ebp - 0x611], cl
push 0xfe
push 0
lea edx, [ebp - 0x610]
push edx
call fcn.005323e0
add esp, 0xc
mov al, byte [0x5c6e2d]
mov byte [ebp - 0x512], al
push 0xfe
push 0
lea ecx, [ebp - 0x511]
push ecx
call fcn.005323e0
add esp, 0xc
xor edx, edx
mov word [ebp - 0x824], dx
xor eax, eax
mov word [ebp - 0x30c], ax
mov dword [ebp - 0x81c], 0x5fd3d0
call fcn.00485a30
mov dword [ebp - 0x81c], eax
cmp dword [0x563484], 0xffffffff
je 0x42f3b9
mov ecx, dword [0x563484]
mov dword [ebp - 0x714], ecx
jmp 0x42f3c9
mov edx, dword [ebp + 0x10]
movsx eax, word [edx + 0x17e]
mov dword [ebp - 0x714], eax
cmp dword [0x5f6630], 1
jne 0x42f45a
cmp dword [ebp + 0xc], 0
je 0x42f45a
cmp dword [ebp + 0x10], 0
je 0x42f45a
cmp dword [ebp - 0x714], 0
je 0x42f45a
mov ecx, dword [ebp + 0xc]
mov dx, word [ecx + 0xfc]
mov word [ebp - 0x824], dx
mov ax, word [0xd864a9]
mov word [ebp - 0x30c], ax
movsx ecx, word [ebp - 0x30c]
test ecx, ecx
je 0x42f422
mov dx, word [ebp - 0x30c]
mov word [ebp - 0x824], dx
mov eax, dword [ebp - 0x714]
push eax
movzx ecx, word [ebp - 0x824]
push ecx
mov edx, dword [0x5c6c08]
push edx
push 0x5c
push 0x55ebec
push 0x5f96d8
push str._s_s_cunlock__03d__05d__02d.fc
lea eax, [ebp - 0x710]
push eax
call fcn.00532706
add esp, 0x20
jmp 0x42f46e
push 0x5c6e2e
lea ecx, [ebp - 0x710]
push ecx
call fcn.00532580
add esp, 8
push 0x55ec14
push 0x5c
push 0x55ec24
mov edx, dword [ebp - 0x81c]
push edx
push 0x55ec2c
lea eax, [ebp - 0x611]
push eax
call fcn.00532706
add esp, 0x18
mov dword [ebp - 0x310], 0
jmp 0x42f4b0
mov ecx, dword [ebp - 0x310]
add ecx, 1
mov dword [ebp - 0x310], ecx
cmp dword [ebp - 0x310], 2
jge 0x42f884
mov edx, dword [ebp - 0x310]
imul edx, edx, 0xff
movsx eax, byte [ebp + edx - 0x710]
test eax, eax
je 0x42f87f
push 0x5c6e30
mov ecx, dword [ebp - 0x310]
imul ecx, ecx, 0xff
lea edx, [ebp + ecx - 0x710]
push edx
call fcn.005327a0
add esp, 8
test eax, eax
jne 0x42f52c
mov eax, dword [ebp - 0x310]
imul eax, eax, 0xff
lea ecx, [ebp + eax - 0x710]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.00532580
add esp, 8
mov eax, dword [ebp - 0x310]
add eax, 1
jmp 0x42f8ce
mov eax, dword [ebp - 0x310]
imul eax, eax, 0xff
lea ecx, [ebp + eax - 0x710]
push ecx
call fcn.00423310
add esp, 4
test eax, eax
je 0x42f6d6
mov edx, dword [ebp - 0x310]
imul edx, edx, 0xff
lea eax, [ebp + edx - 0x710]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00532580
add esp, 8
push 0x5c66d8
push 0x5c5ed8
push 0x55ec38
lea edx, [ebp - 0xa28]
push edx
call fcn.00532706
add esp, 0x10
movzx eax, word [ebp - 0x824]
push eax
mov ecx, dword [0x5c6c08]
push ecx
push str.UN__03d__05d
lea edx, [ebp - 0x410]
push edx
call fcn.00532706
add esp, 0x10
mov eax, dword [ebp + 8]
push eax
push 0xff
lea ecx, [ebp - 0x308]
push ecx
push 0x5c6e2f
push 0x55ec50
push 0x55ec58
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea edx, [ebp - 0xa28]
push edx
push 0xff
lea eax, [ebp - 0x208]
push eax
push 0x5c6f2f
lea ecx, [ebp - 0x410]
push ecx
push 0x55ec64
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
movsx edx, byte [ebp - 0x208]
test edx, edx
je 0x42f638
movsx eax, byte [ebp - 0x308]
test eax, eax
je 0x42f638
lea ecx, [ebp - 0x308]
push ecx
lea edx, [ebp - 0x208]
push edx
call fcn.005327a0
add esp, 8
test eax, eax
jle 0x42f638
mov eax, dword [ebp + 8]
mov byte [eax], 0
jmp 0x42f6ad
push 0x55ec6c
mov ecx, dword [ebp + 8]
push ecx
call fcn.0042eaa0
add esp, 8
mov dword [ebp - 0xa2c], eax
cmp dword [ebp - 0xa2c], 0
je 0x42f6ad
mov edx, dword [ebp - 0xa2c]
push edx
push 1
push 0xc
lea eax, [ebp - 0xb30]
push eax
call fcn.0053367b
add esp, 0x10
mov ecx, dword [ebp - 0xa2c]
push ecx
call fcn.00431d50
add esp, 4
push 0xb
push str._UNLOCK.FC_
lea edx, [ebp - 0xb30]
push edx
call fcn.00532db5
add esp, 0xc
test eax, eax
je 0x42f6ad
mov eax, dword [ebp + 8]
push eax
call fcn.00429360
add esp, 4
mov ecx, dword [ebp + 8]
mov byte [ecx], 0
mov edx, dword [ebp + 8]
movsx eax, byte [edx]
test eax, eax
je 0x42f6d6
mov ecx, dword [ebp + 8]
push ecx
push 0x5c6e30
call fcn.00532580
add esp, 8
mov eax, dword [ebp - 0x310]
add eax, 1
jmp 0x42f8ce
cmp dword [ebp - 0x310], 0
jne 0x42f706
cmp dword [0x56df7c], 0
jne 0x42f706
mov dword [0x5fb6c0], 2
mov dword [0x56df7c], 0x557300
mov dword [0x56df78], 0
cmp dword [ebp - 0x310], 1
jne 0x42f733
push 0x5c
push 0x55ec7c
mov edx, dword [ebp - 0x81c]
push edx
push 0x55ec84
lea eax, [ebp - 0x928]
push eax
call fcn.00532706
add esp, 0x14
jmp 0x42f753
push 0x5c
push 0x55ec8c
push 0x5f96d8
push 0x55ec94
lea ecx, [ebp - 0x928]
push ecx
call fcn.00532706
add esp, 0x14
mov edx, dword [ebp - 0x714]
push edx
movzx eax, word [ebp - 0x824]
push eax
mov ecx, dword [0x5c6c08]
push ecx
push str.unlock__03d__05d__02d.fc
lea edx, [ebp - 0x818]
push edx
call fcn.00532706
add esp, 0x14
movsx eax, word [ebp - 0x824]
test eax, eax
je 0x42f791
cmp dword [ebp - 0x714], 0
jne 0x42f7a5
push 0x55ecb8
lea ecx, [ebp - 0x818]
push ecx
call fcn.00532580
add esp, 8
push str.http:__download.dyned.com_softwareupdates_courses
push str._s_studypaths
lea edx, [ebp - 0x108]
push edx
call fcn.00532706
add esp, 0xc
lea eax, [ebp - 0x928]
push eax
call fcn.00423c50
add esp, 4
lea ecx, [ebp - 0x108]
push ecx
lea edx, [ebp - 0x818]
push edx
lea eax, [ebp - 0x928]
push eax
call fcn.00454b20
add esp, 0xc
mov dword [ebp - 0x820], eax
mov ecx, dword [ebp - 0x310]
imul ecx, ecx, 0xff
lea edx, [ebp + ecx - 0x710]
push edx
call fcn.00423310
add esp, 4
cmp eax, 1
jne 0x42f856
cmp dword [ebp - 0x820], 0
jne 0x42f856
mov eax, dword [ebp - 0x310]
imul eax, eax, 0xff
lea ecx, [ebp + eax - 0x710]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.00532580
add esp, 8
mov eax, dword [ebp + 8]
push eax
push 0x5c6e30
call fcn.00532580
add esp, 8
mov eax, dword [ebp - 0x310]
add eax, 1
jmp 0x42f8ce
movsx ecx, word [ebp - 0x824]
test ecx, ecx
je 0x42f86a
cmp dword [ebp - 0x714], 0
jne 0x42f87f
push 0x55ecd8
mov edx, dword [ebp + 8]
push edx
call fcn.00532580
add esp, 8
xor eax, eax
jmp 0x42f8ce
jmp 0x42f4a1
lea eax, [ebp - 0x512]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00532580
add esp, 8
lea edx, [ebp - 0x512]
push edx
push str.unlock_001.fc
push 0x55ecf8
lea eax, [ebp - 0x410]
push eax
call fcn.00532706
add esp, 0x10
lea ecx, [ebp - 0x410]
push ecx
push 1
call fcn.00436500
add esp, 8
mov eax, dword [ebp - 0x828]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00532783
mov esp, ebp
pop ebp
ret