Function at 0x10029bd0
Capabilities:
Read .ini file

Disassembly:
sub esp, 0x12c
mov eax, dword [0x100782d8]
xor eax, esp
mov dword [esp + 0x128], eax
push ebx
push ebp
push esi
mov esi, dword [esp + 0x13c]
push edi
mov dword [0x1007b95c], esi
call fcn.10033080
push eax
push str.__wnschool_d.ini
push 0xff
lea eax, [esp + 0x44]
push 0xff
push eax
call fcn.10043641
push 0x120
xor edi, edi
push edi
push 0x1007b6d0
call fcn.10043530
add esp, 0x20
lea ecx, [esp + 0x38]
push ecx
push 0x120
push 0x1007b6d0
push 0x10068b90
push str.school
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStructA]
push 6
mov dword [0x1007b754], edi
mov dword [0x1007b758], edi
mov dword [0x1007b75c], edi
mov dword [0x1007b760], edi
mov dword [0x1007b764], edi
mov dword [0x1007b7cc], edi
mov dword [0x1007b7d0], edi
call fcn.10001020
mov edi, dword [sym.imp.USER32.dll_GetDlgItem]
push 0x43a
push esi
mov ebp, eax
call edi
push 0x43f
push esi
mov dword [esp + 0x18], eax
call edi
push 0x442
push esi
mov dword [esp + 0x1c], eax
call edi
push 0x447
push esi
mov dword [esp + 0x20], eax
call edi
push 0x44a
push esi
mov dword [esp + 0x24], eax
call edi
push 0x43b
push esi
mov dword [esp + 0x28], eax
call edi
push 0x440
push esi
mov dword [esp + 0x2c], eax
call edi
push 0x443
push esi
mov dword [esp + 0x30], eax
call edi
push 0x448
push esi
mov dword [esp + 0x34], eax
call edi
push 0x44b
push esi
mov dword [esp + 0x38], eax
call edi
mov ebx, dword [sym.imp.USER32.dll_SendMessageA]
mov dword [esp + 0x34], eax
lea eax, [ebp - 1]
cmp eax, 4
ja case.default.0x10029d0b
jmp dword [eax*4 + 0x1002a548]
push 0x10057d98
push 0x439
push esi
call dword [sym.imp.USER32.dll_SetDlgItemTextA]
mov edx, dword [esp + 0x24]
push 0x1007b740
push ebp
push 0
push 0x1007b6dc
push edx
call fcn.10026990
mov eax, dword [esp + 0x28]
push 0x1007b744
push ebp
push 0
push 0x1007b6e0
push eax
call fcn.10026990
mov ecx, dword [esp + 0x2c]
push 0x1007b748
push ebp
push 0
push 0x1007b6e4
push ecx
call fcn.10026990
mov edx, dword [esp + 0x30]
push 0x1007b74c
push ebp
push 0
push 0x1007b6e8
push edx
call fcn.10026990
mov eax, dword [esp + 0x34]
push 0x1007b750
push ebp
push 0
push 0x1007b6ec
push eax
call fcn.10026990
mov ecx, dword [0x1007b768]
mov edx, dword [esp + 0x10]
push 0
push ecx
push 0xf1
push edx
call ebx
mov eax, dword [0x1007b76c]
mov ecx, dword [esp + 0x14]
push 0
push eax
push 0xf1
push ecx
call ebx
mov edx, dword [0x1007b770]
mov eax, dword [esp + 0x18]
push 0
push edx
push 0xf1
push eax
call ebx
mov ecx, dword [0x1007b774]
mov edx, dword [esp + 0x1c]
push 0
push ecx
push 0xf1
push edx
call ebx
mov eax, dword [0x1007b778]
jmp 0x1002a172
push 0x10057d90
push 0x439
push esi
call dword [sym.imp.USER32.dll_SetDlgItemTextA]
mov edx, dword [esp + 0x24]
push 0x1007b740
push ebp
push 0
push 0x1007b6f0
push edx
call fcn.10026990
mov eax, dword [esp + 0x28]
push 0x1007b744
push ebp
push 0
push 0x1007b6f4
push eax
call fcn.10026990
mov ecx, dword [esp + 0x2c]
push 0x1007b748
push ebp
push 0
push 0x1007b6f8
push ecx
call fcn.10026990
mov edx, dword [esp + 0x30]
push 0x1007b74c
push ebp
push 0
push 0x1007b6fc
push edx
call fcn.10026990
mov eax, dword [esp + 0x34]
push 0x1007b750
push ebp
push 0
push 0x1007b700
push eax
call fcn.10026990
mov ecx, dword [0x1007b77c]
mov edx, dword [esp + 0x10]
push 0
push ecx
push 0xf1
push edx
call ebx
mov eax, dword [0x1007b780]
mov ecx, dword [esp + 0x14]
push 0
push eax
push 0xf1
push ecx
call ebx
mov edx, dword [0x1007b784]
mov eax, dword [esp + 0x18]
push 0
push edx
push 0xf1
push eax
call ebx
mov ecx, dword [0x1007b788]
mov edx, dword [esp + 0x1c]
push 0
push ecx
push 0xf1
push edx
call ebx
mov eax, dword [0x1007b78c]
jmp 0x1002a172
push 0x10057d88
push 0x439
push esi
call dword [sym.imp.USER32.dll_SetDlgItemTextA]
mov edx, dword [esp + 0x24]
push 0x1007b740
push ebp
push 0
push 0x1007b704
push edx
call fcn.10026990
mov eax, dword [esp + 0x28]
push 0x1007b744
push ebp
push 0
push 0x1007b708
push eax
call fcn.10026990
mov ecx, dword [esp + 0x2c]
push 0x1007b748
push ebp
push 0
push 0x1007b70c
push ecx
call fcn.10026990
mov edx, dword [esp + 0x30]
push 0x1007b74c
push ebp
push 0
push 0x1007b710
push edx
call fcn.10026990
mov eax, dword [esp + 0x34]
push 0x1007b750
push ebp
push 0
push 0x1007b714
push eax
call fcn.10026990
mov ecx, dword [0x1007b790]
mov edx, dword [esp + 0x10]
push 0
push ecx
push 0xf1
push edx
call ebx
mov eax, dword [0x1007b794]
mov ecx, dword [esp + 0x14]
push 0
push eax
push 0xf1
push ecx
call ebx
mov edx, dword [0x1007b798]
mov eax, dword [esp + 0x18]
push 0
push edx
push 0xf1
push eax
call ebx
mov ecx, dword [0x1007b79c]
mov edx, dword [esp + 0x1c]
push 0
push ecx
push 0xf1
push edx
call ebx
mov eax, dword [0x1007b7a0]
jmp 0x1002a172
push 0x10057d80
push 0x439
push esi
call dword [sym.imp.USER32.dll_SetDlgItemTextA]
mov edx, dword [esp + 0x24]
push 0x1007b740
push ebp
push 0
push 0x1007b718
push edx
call fcn.10026990
mov eax, dword [esp + 0x28]
push 0x1007b744
push ebp
push 0
push 0x1007b71c
push eax
call fcn.10026990
mov ecx, dword [esp + 0x2c]
push 0x1007b748
push ebp
push 0
push 0x1007b720
push ecx
call fcn.10026990
mov edx, dword [esp + 0x30]
push 0x1007b74c
push ebp
push 0
push 0x1007b724
push edx
call fcn.10026990
mov eax, dword [esp + 0x34]
push 0x1007b750
push ebp
push 0
push 0x1007b728
push eax
call fcn.10026990
mov ecx, dword [0x1007b7a4]
mov edx, dword [esp + 0x10]
push 0
push ecx
push 0xf1
push edx
call ebx
mov eax, dword [0x1007b7a8]
mov ecx, dword [esp + 0x14]
push 0
push eax
push 0xf1
push ecx
call ebx
mov edx, dword [0x1007b7ac]
mov eax, dword [esp + 0x18]
push 0
push edx
push 0xf1
push eax
call ebx
mov ecx, dword [0x1007b7b0]
mov edx, dword [esp + 0x1c]
push 0
push ecx
push 0xf1
push edx
call ebx
mov eax, dword [0x1007b7b4]
jmp 0x1002a172
push 0x10057d78
push 0x439
push esi
call dword [sym.imp.USER32.dll_SetDlgItemTextA]
mov edx, dword [esp + 0x24]
push 0x1007b740
push ebp
push 0
push 0x1007b72c
push edx
call fcn.10026990
mov eax, dword [esp + 0x28]
push 0x1007b744
push ebp
push 0
push 0x1007b730
push eax
call fcn.10026990
mov ecx, dword [esp + 0x2c]
push 0x1007b748
push ebp
push 0
push 0x1007b734
push ecx
call fcn.10026990
mov edx, dword [esp + 0x30]
push 0x1007b74c
push ebp
push 0
push 0x1007b738
push edx
call fcn.10026990
mov eax, dword [esp + 0x34]
push 0x1007b750
push ebp
push 0
push 0x1007b73c
push eax
call fcn.10026990
mov ecx, dword [0x1007b7b8]
mov edx, dword [esp + 0x10]
push 0
push ecx
push 0xf1
push edx
call ebx
mov eax, dword [0x1007b7bc]
mov ecx, dword [esp + 0x14]
push 0
push eax
push 0xf1
push ecx
call ebx
mov edx, dword [0x1007b7c0]
mov eax, dword [esp + 0x18]
push 0
push edx
push 0xf1
push eax
call ebx
mov ecx, dword [0x1007b7c4]
mov edx, dword [esp + 0x1c]
push 0
push ecx
push 0xf1
push edx
call ebx
mov eax, dword [0x1007b7c8]
mov ecx, dword [esp + 0x20]
push 0
push eax
push 0xf1
push ecx
call ebx
mov eax, dword [0x1007b6d8]
cmp eax, 0x3e8
jae 0x1002a197
mov eax, 0x3e8
mov dword [0x1007b6d8], eax
mov ebp, dword [sym.imp.USER32.dll_SetDlgItemInt]
push 0
push eax
push 0x446
push esi
call ebp
mov edx, dword [0x1007c44c]
push 0
push edx
push 0x4bc
push esi
call ebp
mov eax, dword [0x1007c450]
push 0
push eax
push 0x4bd
push esi
call ebp
mov ecx, dword [0x1007b7e8]
push 0
push ecx
push 0x44d
push esi
call ebp
push 0x43d
push esi
call edi
mov edx, dword [0x1007b6d0]
push 0
push edx
push 0xf1
push eax
call ebx
push 0x400
push esi
call edi
mov ecx, dword [0x1007b7e4]
push 0
push ecx
push 0xf1
push eax
call ebx
push 0x4b2
push esi
call edi
mov edx, dword [0x1007c2b0]
push 0
push edx
push 0xf1
push eax
call ebx
push 0x4b1
push esi
call edi
mov ecx, dword [0x1007c440]
push 0
push ecx
push 0xf1
push eax
call ebx
push 0x4de
push esi
call edi
mov edx, dword [0x1007c454]
push 0
push edx
push 0xf1
push eax
call ebx
push 0x4b3
push esi
call edi
mov ecx, dword [0x1007c444]
push 0
push ecx
push 0xf1
push eax
call ebx
push 0x4bb
push esi
call edi
mov edx, dword [0x1007c458]
push 0
push edx
push 0xf1
push eax
call ebx
push 0x4d9
push esi
call edi
mov ecx, dword [0x1007b7ec]
push 0
push ecx
push 0xf1
push eax
call ebx
push 0x52b
push esi
call edi
mov edx, dword [0x1007c468]
push 0
push edx
push 0xf1
push eax
call ebx
xor eax, eax
cmp dword [0x1007c448], 1
sete al
lea eax, [eax*4 + 0x42d]
push eax
push esi
call edi
push 0
push 1
push 0xf1
push eax
call ebx
push 0x43e
push esi
call edi
mov ecx, dword [0x1007b6d4]
push 0
push ecx
push 0xf1
push eax
call ebx
push 0x4da
push esi
call edi
mov edx, dword [0x1007c1c4]
push 0
push edx
push 0xf1
push eax
call ebx
push 0x438
push esi
call edi
push 0
push 1
push 0xf1
push eax
call ebx
mov eax, dword [0x1007c1c8]
test eax, eax
jne 0x1002a334
mov eax, 0x432
jmp 0x1002a350
cmp eax, 1
jne 0x1002a340
mov eax, 0x42e
jmp 0x1002a350
xor ecx, ecx
cmp eax, 2
setne cl
add ecx, 0x42f
mov eax, ecx
push eax
push esi
call edi
push 0
push 1
push 0xf1
push eax
call ebx
cmp dword [0x1007f01c], 2
jne 0x1002a52a
push 5
push 0x467
push esi
mov dword [0x1007b6d4], 0
call edi
mov ebx, dword [sym.imp.USER32.dll_ShowWindow]
push eax
call ebx
push 5
push 0x503
push esi
call edi
push eax
call ebx
push 5
push 0x501
push esi
call edi
push eax
call ebx
push 5
push 0x4ab
push esi
call edi
push eax
call ebx
push 5
push 0x502
push esi
call edi
push eax
call ebx
push 5
push 0x44e
push esi
call edi
push eax
call ebx
push 5
push 0x42e
push esi
call edi
push eax
call ebx
push 5
push 0x432
push esi
call edi
push eax
call ebx
push 0
push 0x419
push esi
call edi
push eax
call ebx
push 0
push 0x4ff
push esi
call edi
push eax
call ebx
push 0
push 0x43e
push esi
call edi
push eax
call ebx
push 0
push 0x4d9
push esi
call edi
push eax
call ebx
push 0
push 0x52b
push esi
call edi
push eax
call ebx
push 0
push 0x43a
push esi
call edi
push eax
call ebx
push 0
push 0x43f
push esi
call edi
push eax
call ebx
push 0
push 0x442
push esi
call edi
push eax
call ebx
push 0
push 0x447
push esi
call edi
push eax
call ebx
push 0
push 0x44a
push esi
call edi
push eax
call ebx
push 0
push 0x43b
push esi
call edi
push eax
call ebx
push 0
push 0x440
push esi
call edi
push eax
call ebx
push 0
push 0x443
push esi
call edi
push eax
call ebx
push 0
push 0x448
push esi
call edi
push eax
call ebx
push 0
push 0x44b
push esi
call edi
push eax
call ebx
push 0
push 0x43c
push esi
call edi
push eax
call ebx
push 0
push 0x441
push esi
call edi
push eax
call ebx
push 0
push 0x444
push esi
call edi
push eax
call ebx
push 0
push 0x449
push esi
call edi
push eax
call ebx
push 0
push 0x44c
push esi
call edi
push eax
call ebx
push 0
push 0x475
push esi
call edi
push eax
call ebx
push 0
push 0x476
push esi
call edi
push eax
call ebx
push 0
push 0x477
push esi
call edi
push eax
call ebx
push 0
push 0x478
push esi
call edi
push eax
call ebx
push 0
push 0x479
push esi
call edi
push eax
call ebx
mov ecx, dword [esp + 0x138]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1004309b
add esp, 0x12c
ret 4