Function at 0x41dd70
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x40
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
lea ebx, [eax + eax*4]
mov esi, dword [ebx*8 + 0x42fbc0]
imul esi, esi, 0xd
push edi
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x28], ebx
test esi, esi
jne 0x41dda8
mov dword [ebp - 0x30], esi
jmp 0x41ddef
push esi
call dword [sym.imp.MSVCR100.dll_malloc]
mov edi, eax
add esp, 4
test edi, edi
jne 0x41dde0
push str._Out_of_memory._Please_run_a_smaller_problem_n
call dword [sym.imp.MSVCR100.dll_printf]
add esp, 4
call fcn.00404240
inc dword [0x42fba4]
je 0x41ddd8
call fcn.00403eb0
push 3
call dword [sym.imp.MSVCR100.dll_exit]
push esi
push 0
push edi
call sub.MSVCR100.dll_memset
add esp, 0xc
mov dword [ebp - 0x30], edi
mov esi, dword [ebx*8 + 0x42fbc0]
add esi, esi
add esi, esi
jne 0x41de01
mov dword [ebp - 0x2c], esi
jmp 0x41de48
push esi
call dword [sym.imp.MSVCR100.dll_malloc]
mov edi, eax
add esp, 4
test edi, edi
jne 0x41de39
push str._Out_of_memory._Please_run_a_smaller_problem_n
call dword [sym.imp.MSVCR100.dll_printf]
add esp, 4
call fcn.00404240
inc dword [0x42fba4]
je 0x41de31
call fcn.00403eb0
push 3
call dword [sym.imp.MSVCR100.dll_exit]
push esi
push 0
push edi
call sub.MSVCR100.dll_memset
add esp, 0xc
mov dword [ebp - 0x2c], edi
mov eax, dword [ebp - 0x28]
xor ebx, ebx
xor esi, esi
mov dword [ebp - 0x24], ebx
cmp dword [eax*8 + 0x42fbc0], ebx
jle 0x41deae
mov edi, dword [ebp - 0x34]
add edi, 0x1c
cmp word [edi + 2], 0xffff
je 0x41de9e
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x2c]
lea eax, [ebx + ecx]
mov dword [edx + esi*4], eax
imul eax, eax, 0xd
mov edx, dword [ebp - 0x30]
lea ecx, [edi + 6]
sub eax, ecx
add edx, eax
mov al, byte [ecx]
mov byte [edx + ecx], al
inc ecx
test al, al
jne 0x41de81
movzx eax, word [edi]
cmp ax, 1
jne 0x41de97
inc dword [ebp - 0x24]
cmp ax, 2
jne 0x41de9e
inc ebx
mov eax, dword [ebp - 0x28]
inc esi
add edi, 0x30
cmp esi, dword [eax*8 + 0x42fbc0]
jl 0x41de61
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x24]
inc eax
lea esi, [ebx + ecx]
mov ebx, dword [sym.imp.MSVCR100.dll_printf]
push eax
push str._The_available_level__1d_variables_are:_n
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x40], eax
call ebx
add esp, 8
test esi, esi
jle 0x41df6f
mov eax, dword [ebp - 0x38]
mov edi, dword [ebp - 0x30]
mov ecx, eax
lea edx, [eax - 1]
mov eax, 0xaaaaaaab
mul edx
mov ebx, edx
shr ebx, 1
mov esi, 1
mov dword [ebp - 0x1c], ecx
inc ebx
mov eax, 3
cmp ecx, 3
jg 0x41df02
mov eax, ecx
dec eax
je 0x41df47
dec eax
je 0x41df2d
dec eax
jne 0x41df57
lea eax, [esi + 1]
lea edx, [eax + 1]
push edx
lea ecx, [edi + 0xd]
lea edx, [ecx + 0xd]
push edx
push eax
push ecx
push esi
push edi
push str._For__.9s_enter__2d____For__.9s_enter__2d____For__.9s_enter__2d_n
call dword [sym.imp.MSVCR100.dll_printf]
add esp, 0x1c
jmp 0x41df57
lea eax, [esi + 1]
push eax
lea ecx, [edi + 0xd]
push ecx
push esi
push edi
push str._For__.9s_enter__2d____For__.9s_enter__2d_n
call dword [sym.imp.MSVCR100.dll_printf]
add esp, 0x14
jmp 0x41df57
push esi
push edi
push str._For__.9s_enter__2d_n
call dword [sym.imp.MSVCR100.dll_printf]
add esp, 0xc
mov ecx, dword [ebp - 0x1c]
sub ecx, 3
add esi, 3
add edi, 0x27
dec ebx
mov dword [ebp - 0x1c], ecx
jne 0x41def6
mov ebx, dword [sym.imp.MSVCR100.dll_printf]
xor eax, eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], eax
xor edi, edi
xor esi, esi
jmp 0x41df80
push 0x42d088
push 0x4279e4
call ebx
call dword [sym.imp.MSVCR100.dll___iob_func]
push eax
lea edx, [ebp - 0xc]
push 5
push edx
call dword [sym.imp.MSVCR100.dll_fgets]
lea eax, [ebp - 0xc]
push eax
call dword [sym.imp.MSVCR100.dll_atol]
add esp, 0x18
cmp eax, 1
jl 0x41dfb7
cmp eax, dword [ebp - 0x38]
jg 0x41dfb7
inc edi
inc esi
cmp esi, 9
jg 0x41e154
test edi, edi
je 0x41df80
mov ecx, dword [ebp - 0x28]
mov ecx, dword [ecx*8 + 0x42fbc0]
lea edx, [eax - 1]
xor eax, eax
test ecx, ecx
jle 0x41e07f
mov esi, dword [ebp - 0x2c]
lea edi, [eax + 1]
cmp edx, dword [esi + eax*4]
je 0x41dff2
add eax, edi
cmp eax, ecx
jl 0x41dfe2
jmp 0x41e07f
test eax, eax
js 0x41e07f
lea esi, [eax + eax*2]
shl esi, 4
add esi, dword [ebp - 0x34]
cmp word [esi + 0x1c], di
jne 0x41e01f
cmp dword [ebp - 0x20], edi
jne 0x41e017
cmp dword [0x430a60], 0
je 0x41e02d
mov dword [0x430a60], edi
jmp 0x41e04a
cmp dword [ebp - 0x20], edi
jne 0x41e040
cmp dword [0x430a60], 0
je 0x41e040
push str.IDs_must_be_both_be_character_or_both_numeric__n
call ebx
add esp, 4
mov dword [ebp - 0x18], 0
jmp 0x41e04a
mov dword [0x430a60], 0
cmp word [esi + 0x1e], 0xc
jle 0x41e064
cmp word [esi + 0x1c], 2
jne 0x41e064
push str.Your_ID_variable_is_longer_than_12_characters._n
call ebx
add esp, 4
jmp 0x41e06e
or ecx, 0xffffffff
add dword [ebp - 0x18], edi
mov word [esi + 0x20], cx
mov eax, dword [ebp - 0x1c]
add eax, edi
mov dword [ebp - 0x1c], eax
cmp eax, 9
jg 0x41e1b4
cmp dword [ebp - 0x18], 0
je 0x41df77
mov edx, dword [ebp - 0x24]
sub edx, dword [0x430a60]
mov dword [ebp - 0x20], 0
test edx, edx
jle 0x41e284
xor eax, eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], eax
lea esp, [esp]
mov eax, dword [ebp - 0x20]
inc eax
push eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x40]
push eax
push str._Please_specify_level__d_variable__2d
call ebx
add esp, 0xc
xor edi, edi
xor esi, esi
lea ebx, [ebx]
push str._enter_0_to_end_:
push 0x4279e4
call ebx
call dword [sym.imp.MSVCR100.dll___iob_func]
push eax
lea ecx, [ebp - 0x14]
push 5
push ecx
call dword [sym.imp.MSVCR100.dll_fgets]
lea edx, [ebp - 0x14]
push edx
call dword [sym.imp.MSVCR100.dll_atol]
add esp, 0x18
test eax, eax
js 0x41e106
cmp eax, dword [ebp - 0x38]
jg 0x41e106
inc edi
inc esi
cmp esi, 9
jg 0x41e2ff
test edi, edi
je 0x41e0d0
test eax, eax
je 0x41e284
mov ecx, dword [ebp - 0x28]
mov ecx, dword [ecx*8 + 0x42fbc0]
lea edx, [eax - 1]
xor eax, eax
test ecx, ecx
jle 0x41e268
mov esi, dword [ebp - 0x2c]
lea edi, [eax + 1]
lea esp, [esp]
cmp edx, dword [esi + eax*4]
je 0x41e20a
add eax, edi
cmp eax, ecx
jl 0x41e140
jmp 0x41e268
push str.Unable_to_get_a_proper_response__n
push 0x428e48
call ebx
add esp, 8
call fcn.00404240
inc dword [0x42fba4]
je 0x41e1ac
mov edi, dword [sym.imp.MSVCR100.dll_clock]
call edi
mov ecx, eax
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov esi, edx
shr esi, 0x1f
add esi, edx
jmp 0x41e190
call edi
mov ecx, eax
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
sub eax, esi
cmp eax, 3
jbe 0x41e190
push 0x64
call dword [sym.imp.MSVCR100.dll_exit]
push str.Unable_to_get_a_proper_response_n
call ebx
add esp, 4
call fcn.00404240
add dword [0x42fba4], edi
je 0x41e202
mov edi, dword [sym.imp.MSVCR100.dll_clock]
call edi
mov ecx, eax
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov esi, edx
shr esi, 0x1f
add esi, edx
call edi
mov ecx, eax
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub ecx, esi
cmp ecx, 3
jbe 0x41e1e6
push 0xf
call dword [sym.imp.MSVCR100.dll_exit]
test eax, eax
js 0x41e268
lea edx, [eax + eax*2]
mov eax, dword [ebp - 0x34]
add edx, edx
cmp word [eax + edx*8 + 0x1c], di
je 0x41e229
push str._This_is_a_character_variable__n
call ebx
add esp, 4
jmp 0x41e252
cmp word [eax + edx*8 + 0x20], 0
je 0x41e242
push str.You_have_already_chosen_that_variable__n
push 0x42792c
call ebx
add esp, 8
jmp 0x41e252
add dword [ebp - 0x18], edi
mov ecx, edi
mov word [eax + edx*8 + 0x20], cx
mov edx, dword [ebp - 0xc]
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x24]
add eax, edi
add ecx, 0x19
mov dword [ebp - 0x1c], eax
cmp eax, ecx
jg 0x41e35a
cmp dword [ebp - 0x18], 0
je 0x41e0b0
mov edx, dword [ebp - 0x24]
sub edx, dword [0x430a60]
cmp dword [ebp - 0x20], edx
jl 0x41e0a1
mov edx, dword [ebp - 0x28]
xor ebx, ebx
cmp dword [edx*8 + 0x42fbc0], ebx
jle 0x41e2ca
mov edi, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x34]
add edi, 0xd
add esi, 0x22
mov edi, edi
cmp word [esi - 2], 1
jne 0x41e2ba
mov edx, edi
add edi, 0xd
mov eax, esi
sub edx, esi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x41e2b0
mov eax, dword [ebp - 0x28]
inc ebx
add esi, 0x30
cmp ebx, dword [eax*8 + 0x42fbc0]
jl 0x41e2a0
cmp dword [ebp - 0x30], 0
mov esi, dword [sym.imp.MSVCR100.dll_free]
je 0x41e2df
mov ecx, dword [ebp - 0x30]
push ecx
call esi
add esp, 4
cmp dword [ebp - 0x2c], 0
je 0x41e2ee
mov edx, dword [ebp - 0x2c]
push edx
call esi
add esp, 4
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00425fc4
mov esp, ebp
pop ebp
ret
push str.Unable_to_get_a_proper_response__n
push 0x428e48
call ebx
add esp, 8
call fcn.00404240
inc dword [0x42fba4]
je 0x41e352
mov edi, dword [sym.imp.MSVCR100.dll_clock]
call edi
mov ecx, eax
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov esi, edx
shr esi, 0x1f
add esi, edx
call edi
mov ecx, eax
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
sub eax, esi
cmp eax, 3
jbe 0x41e336
push 0x64
call dword [sym.imp.MSVCR100.dll_exit]
push str.Unable_to_get_a_proper_response_n
call ebx
add esp, 4
call fcn.00404240
add dword [0x42fba4], edi
je 0x41e3ac
mov edi, dword [sym.imp.MSVCR100.dll_clock]
call edi
mov ecx, eax
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov esi, edx
shr esi, 0x1f
add esi, edx
lea esp, [esp]
call edi
mov ecx, eax
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub ecx, esi
cmp ecx, 3
jbe 0x41e390
push 0xf
call dword [sym.imp.MSVCR100.dll_exit]
int3