Function at 0x421800
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [0x430d2c]
push ebx
push esi
mov esi, dword [sym.imp.MSVCR100.dll_fgets]
push edi
mov edi, ecx
mov dword [ebp - 0x24], eax
mov eax, dword [0x42f88c]
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x1c], 0
push edi
push 0x800
push eax
call esi
add esp, 0xc
test eax, eax
je 0x4218d8
mov eax, dword [0x42f88c]
inc dword [0x42f888]
cmp byte [eax], 0x23
je 0x421832
mov ebx, dword [sym.imp.MSVCR100.dll_strchr]
push 0xa
push eax
call ebx
add esp, 8
test eax, eax
je 0x42187f
mov byte [eax], 0
dec eax
cmp byte [eax], 0
je 0x42187f
cmp byte [eax], 0x20
jne 0x42187f
mov byte [eax], 0
dec eax
cmp byte [eax], 0
jne 0x421871
mov esi, dword [0x42f88c]
cmp byte [esi], 0
je 0x4218a1
mov edi, dword [sym.imp.MSVCR100.dll_toupper]
movsx ecx, byte [esi]
push ecx
call edi
mov byte [esi], al
inc esi
add esp, 4
cmp byte [esi], 0
jne 0x421890
mov edi, dword [0x42f88c]
push 7
push str.LEVEL2:
push edi
call dword [sym.imp.MSVCR100.dll__strnicmp]
add esp, 0xc
test eax, eax
je 0x4218eb
mov edx, dword [0x42f87c]
mov eax, dword [0x42f878]
mov ecx, dword [ebp - 0x18]
push 0
push edx
push eax
push ecx
call dword [sym.imp.MSVCR100.dll__fseeki64]
add esp, 0x10
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00425fc4
mov esp, ebp
pop ebp
ret
inc dword [0x430c48]
add edi, 7
push 0x3d
push edi
call ebx
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x42193e
mov edx, dword [0x42f888]
push edx
push 0x42d2b4
push edi
call dword [sym.imp.MSVCR100.dll_sprintf]
push edi
push str._Error_in_batch_file_at_line__s_n
call dword [sym.imp.MSVCR100.dll_printf]
add esp, 0x14
call fcn.00404240
inc dword [0x42fba4]
je 0x421936
call fcn.00403eb0
push 8
call dword [sym.imp.MSVCR100.dll_exit]
mov esi, dword [sym.imp.MSVCR100.dll_strchr]
push 0x2b
push edi
call esi
push 0
push edi
call esi
add esp, 0x10
mov dword [ebp - 0x20], eax
xor eax, eax
jmp 0x421960
mov cl, byte [eax + 0x430cf0]
mov byte [ebp + eax - 0x14], cl
inc eax
test cl, cl
jne 0x421960
mov eax, ebx
sub eax, edi
push eax
lea ecx, [ebp - 0x14]
push edi
push ecx
call dword [sym.imp.MSVCR100.dll_strncpy]
mov eax, 8
mov esi, 0x42f9b0
call fcn.00403be0
mov eax, 8
lea esi, [ebp - 0x14]
call fcn.00403be0
mov edx, esi
push edx
push 0x42f9b0
call dword [sym.imp.MSVCR100.dll__stricmp]
add esp, 0x14
test eax, eax
je 0x4219eb
mov eax, dword [0x42f888]
push eax
push 0x42d2b4
push edi
call dword [sym.imp.MSVCR100.dll_sprintf]
push edi
push str._Error_in_batch_file_at_line__s_n
call dword [sym.imp.MSVCR100.dll_printf]
add esp, 0x14
call fcn.00404240
inc dword [0x42fba4]
je 0x4219e3
call fcn.00403eb0
push 8
call dword [sym.imp.MSVCR100.dll_exit]
mov ecx, dword [ebp - 0x18]
push ecx
call dword [sym.imp.MSVCR100.dll__ftelli64]
mov dword [0x42f87c], edx
mov edx, dword [0x430cb0]
mov dword [0x42f878], eax
mov eax, dword [0x430ca0]
push edx
push eax
mov eax, 0x42f9b0
call fcn.004041d0
add esp, 0xc
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x18], 0
mov edi, ebx
cmp ebx, dword [ebp - 0x20]
je 0x421b3d
lea esi, [edi + 1]
push 0x2b
push esi
call dword [sym.imp.MSVCR100.dll_strchr]
mov edi, eax
add esp, 8
test edi, edi
jne 0x421a47
mov edi, dword [ebp - 0x20]
xor eax, eax
lea esp, [esp]
mov cl, byte [eax + 0x430cf0]
mov byte [ebp + eax - 0x14], cl
inc eax
test cl, cl
jne 0x421a50
cmp byte [edi - 2], 0x2c
jne 0x421a77
mov bl, byte [edi - 1]
mov ecx, edi
sub ecx, esi
sub ecx, 2
push ecx
push esi
lea edx, [ebp - 0x14]
push edx
jmp 0x421a83
mov eax, edi
sub eax, esi
push eax
push esi
lea ecx, [ebp - 0x14]
mov bl, 0x20
push ecx
call dword [sym.imp.MSVCR100.dll_strncpy]
add esp, 0xc
push 6
lea edx, [ebp - 0x14]
push str.RANDOM
push edx
call dword [sym.imp.MSVCR100.dll__strnicmp]
add esp, 0xc
test eax, eax
jne 0x421aac
inc dword [ebp - 0x1c]
jmp 0x421b31
mov eax, dword [0x430b90]
mov ecx, dword [0x430c14]
push eax
push ecx
lea eax, [ebp - 0x14]
call fcn.004041d0
add esp, 8
test eax, eax
js 0x421b5e
cmp eax, dword [0x430b90]
jg 0x421b5e
mov edx, dword [0x430c98]
imul edx, dword [ebp - 0x24]
add edx, dword [ebp - 0x18]
mov ecx, dword [0x430d28]
mov dword [ecx + edx*4], eax
cmp bl, 0x20
je 0x421b23
cmp bl, 0x32
je 0x421b16
push esi
mov esi, dword [sym.imp.MSVCR100.dll_printf]
push str.Problem_at_this_point:__s_n
call esi
movsx edx, bl
push edx
push str.invalid_option_on_level_2_variable___c_n
call esi
add esp, 0x10
jmp 0x421b23
mov ecx, dword [0x42fba8]
mov dword [ecx + eax*4], 2
mov eax, 1
add dword [ebp - 0x18], eax
add dword [0x42f884], eax
cmp edi, dword [ebp - 0x20]
jne 0x421a2f
mov eax, dword [ebp - 0x28]
mov edx, dword [0x42fb44]
cmp dword [edx + eax*4], 1
jne 0x421ba3
push 0x42f9b0
push str._n_s_has_been_fixed_because_group_mean_centering_implies_heterogeneity._n
call dword [sym.imp.MSVCR100.dll_printf]
add esp, 8
jmp 0x421bcb
mov edi, dword [sym.imp.MSVCR100.dll_printf]
push str.level2
push str.Batch_file__s_specification_invalid_n
call edi
add esp, 8
cmp byte [esi], 0
jne 0x421b7e
mov esi, dword [0x42f88c]
push esi
push str._s_does_not_exist_n
call edi
add esp, 8
call fcn.00404240
inc dword [0x42fba4]
je 0x421b9b
call fcn.00403eb0
push 9
call dword [sym.imp.MSVCR100.dll_exit]
mov ecx, dword [0x42fde8]
cmp word [ecx + eax*2], 1
je 0x421bc5
push 0x42f9b0
push str._n_s_has_been_fixed_because_the_variable_is_not_homogeneous._n
call dword [sym.imp.MSVCR100.dll_printf]
add esp, 8
jmp 0x421bcb
cmp dword [ebp - 0x1c], 0
jne 0x421bdb
mov edx, dword [0x430bac]
mov eax, dword [ebp - 0x24]
mov dword [edx + eax*4], 1
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
mov eax, 1
pop ebx
call fcn.00425fc4
mov esp, ebp
pop ebp
ret