Function at 0x411c60
Capabilities:
Delete file
Read file on windows
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x2c
cmp dword [0x489ae4], 5
push ebx
push esi
mov ebx, 0x64
push edi
mov dword [esp + 0x28], ebx
jne 0x411c94
mov eax, dword [0x468ec0]
mov edi, dword [eax + 0x48]
call fcn.00409ea0
mov ecx, dword [0x468ec0]
mov dword [ecx + 0x4c], eax
mov esi, dword [esp + 0x2c]
xor edi, edi
mov dword [0x4802e8], edi
cmp edi, ebx
jl 0x411d3f
mov eax, dword [0x4a5b5c]
add ebx, ebx
mov edx, ebx
imul edx, dword [ebp + 8]
add edx, edx
add edx, edx
add edx, edx
push edx
push eax
mov dword [esp + 0x30], ebx
call dword [sym.imp.MSVCR100.dll_realloc]
add esp, 8
test eax, eax
jne 0x411cd9
call fcn.0040a000
mov edi, dword [0x4802e8]
cmp dword [0x476bc4], 0
mov dword [0x4a5b5c], eax
je 0x411d15
mov edx, dword [0x489ab0]
lea ecx, [ebx*8]
push ecx
push edx
call dword [sym.imp.MSVCR100.dll_realloc]
add esp, 8
test eax, eax
jne 0x411d0e
call fcn.0040a000
mov edi, dword [0x4802e8]
mov dword [0x489ab0], eax
jmp 0x411d3f
mov ecx, dword [0x476d0c]
mov eax, ebx
imul eax, eax, 0xd
push eax
push ecx
call dword [sym.imp.MSVCR100.dll_realloc]
add esp, 8
test eax, eax
jne 0x411d3a
call fcn.0040a000
mov edi, dword [0x4802e8]
mov dword [0x476d0c], eax
cmp dword [0x476bc4], 0
je 0x411d53
mov edx, dword [0x489ab0]
lea eax, [edx + edi*8]
jmp 0x411d5e
mov eax, edi
imul eax, eax, 0xd
add eax, dword [0x476d0c]
mov edx, dword [0x4a5b5c]
mov ecx, edi
imul ecx, dword [ebp + 8]
lea ecx, [edx + ecx*8]
mov edx, dword [0x489ae4]
add edx, 0xfffffffe
mov dword [esp + 0x20], eax
cmp edx, 6
ja case.0x411d83.4
jmp dword [edx*4 + 0x4127e8]
mov edx, dword [0x468ec0]
mov eax, dword [0x4694a4]
mov dword [esp + 0x18], ecx
mov ecx, dword [edx + 0x3c]
mov edx, dword [edx + 0x38]
inc ecx
cmp byte [eax], 0
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x24], 1
mov dword [esp + 0x10], ecx
je 0x412042
lea ecx, [ecx]
cmp dword [esp + 0x10], 0
je 0x412042
call fcn.0040ce70
mov edi, eax
cmp dword [edi], 0
mov dword [esp + 0x2c], 0
jle 0x41201c
mov esi, dword [esp + 0x18]
mov eax, dword [edi + 4]
dec eax
mov ebx, 1
cmp eax, 5
ja case.default.0x411df9
jmp dword [eax*4 + 0x412804]
mov eax, dword [edi + 8]
test eax, eax
je 0x411e2a
mov ecx, dword [esp + 0x14]
push ecx
push 1
push eax
push 0x472ac0
call dword [sym.imp.MSVCR100.dll_fread]
add esp, 0x10
mov dword [esp + 0xc], 0
cmp eax, 1
jne 0x411e2e
mov dword [esp + 0xc], ebx
lea eax, [esp + 0x30]
push eax
push 0x45f79c
mov edx, dword [edi + 8]
push 0x472ac0
mov byte [edx + 0x472ac0], 0
call dword [sym.imp.MSVCR100.dll_sscanf]
fld qword [esp + 0x3c]
fstp qword [esi]
add esi, 8
add esp, 0xc
dec dword [esp + 0x10]
mov ebx, eax
mov dword [esp + 0x18], esi
jmp 0x411ff5
cmp dword [edi + 8], 0xc
jg 0x4121ed
mov eax, dword [esp + 0x24]
dec eax
je 0x411ec1
dec eax
jne 0x412307
mov esi, dword [esp + 0x2c]
push 0xd
push 0x489b30
push esi
call dword [sym.imp.MSVCR100.dll_strncpy]
mov eax, dword [edi + 8]
add esp, 0xc
test eax, eax
je 0x411ebb
mov ecx, dword [esp + 0x14]
push ecx
push 1
push eax
push esi
call dword [sym.imp.MSVCR100.dll_fread]
add esp, 0x10
mov dword [esp + 0xc], 0
cmp eax, 1
jne 0x411f04
mov dword [esp + 0xc], ebx
jmp 0x411f04
mov esi, dword [esp + 0x20]
push 0xd
push 0x489b30
push esi
call dword [sym.imp.MSVCR100.dll_strncpy]
mov eax, dword [edi + 8]
add esp, 0xc
test eax, eax
je 0x411efc
mov edx, dword [esp + 0x14]
push edx
push 1
push eax
push esi
call dword [sym.imp.MSVCR100.dll_fread]
add esp, 0x10
mov dword [esp + 0xc], 0
cmp eax, 1
jne 0x411f00
mov dword [esp + 0xc], ebx
mov esi, dword [esp + 0x20]
mov eax, 0xc
call fcn.00409670
mov esi, dword [esp + 0x18]
mov eax, ebx
sub dword [esp + 0x10], eax
sub dword [esp + 0x24], eax
jmp 0x411ff5
mov eax, dword [edi + 8]
test eax, eax
je 0x411f4b
mov ecx, dword [esp + 0x14]
push ecx
push 1
push eax
push 0x472ac0
call dword [sym.imp.MSVCR100.dll_fread]
add esp, 0x10
mov dword [esp + 0xc], 0
cmp eax, 1
jne 0x411f4f
mov dword [esp + 0xc], ebx
lea eax, [esp + 0x30]
push eax
push 0x465b84
jmp 0x411e38
mov eax, dword [edi + 8]
test eax, eax
je 0x411f88
mov ecx, dword [esp + 0x14]
push ecx
push 1
push eax
push 0x472ac0
call dword [sym.imp.MSVCR100.dll_fread]
add esp, 0x10
mov dword [esp + 0xc], 0
cmp eax, 1
jne 0x411f8c
mov dword [esp + 0xc], ebx
lea eax, [esp + 0x30]
push eax
push 0x465b88
jmp 0x411e38
mov eax, dword [edi + 8]
test eax, eax
je 0x411fbd
mov ecx, dword [esp + 0x14]
push ecx
push 1
push eax
push 0x472ac0
call dword [sym.imp.MSVCR100.dll_fread]
add esp, 0x10
cmp eax, 1
jne 0x412031
mov dword [esp + 0xc], ebx
jmp 0x412004
mov edx, dword [esp + 0x14]
push edx
push 0x4000
push 0x472ac0
call dword [sym.imp.MSVCR100.dll_fgets]
add esp, 0xc
jmp 0x411ff5
mov eax, dword [0x4694a4]
push eax
push str.problem_with_format_n_s_n
call dword [sym.imp.MSVCR100.dll_printf]
add esp, 8
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 0
je 0x412039
test ebx, ebx
je 0x412423
cmp dword [esp + 0x10], 0
je 0x41201c
mov eax, dword [esp + 0x2c]
inc eax
mov dword [esp + 0x2c], eax
cmp eax, dword [edi]
jl 0x411de7
mov eax, dword [esp + 0x1c]
add eax, dword [edi + 0xc]
cmp byte [eax], 0
mov dword [esp + 0x1c], eax
je 0x412042
jmp 0x411dc0
mov dword [esp + 0xc], 0
mov ebx, dword [esp + 0x28]
or esi, 0xffffffff
jmp 0x4120aa
mov ecx, dword [esp + 0x14]
push ecx
push 0x4000
push 0x472ac0
call dword [sym.imp.MSVCR100.dll_fgets]
mov ebx, dword [esp + 0x34]
add esp, 0xc
mov esi, eax
neg esi
sbb esi, esi
neg esi
dec esi
jmp 0x4120aa
mov edx, dword [ebp + 0xc]
push 0
push eax
push edx
push ecx
mov eax, 1
call fcn.00445ca0
add esp, 0x10
jmp 0x4120a8
push ecx
push 1
xor edx, edx
mov ecx, eax
call fcn.00443640
jmp 0x4120a5
push eax
push 1
xor edx, edx
call fcn.00444f30
jmp 0x4120a5
push 0
push 1
mov edx, eax
call fcn.00447780
add esp, 8
mov esi, eax
mov edi, dword [0x4802e8]
mov ecx, dword [0x489ae4]
mov eax, esi
cmp ecx, 8
jne 0x4120c8
cmp edi, dword [0x468d90]
jl 0x4120c8
lea eax, [esi + 1]
test eax, eax
jne 0x412154
cmp dword [0x476bc4], eax
je 0x4120f3
mov eax, dword [0x489ab0]
fld qword [eax + edi*8]
fld qword [0x4a5b10]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x411ca0
cmp edi, 1
jle 0x41214e
cmp dword [0x476bc4], 0
je 0x41211a
mov eax, dword [0x489ab0]
fld qword [eax + edi*8 - 8]
fcomp qword [eax + edi*8]
fnstsw ax
test ah, 0x41
je 0x412138
inc edi
jmp 0x411c9a
mov ecx, dword [0x476d0c]
imul edi, edi, 0xd
lea eax, [edi + ecx]
lea edx, [eax - 0xd]
push edx
push eax
call dword [sym.imp.MSVCR100.dll__stricmp]
add esp, 8
test eax, eax
jns 0x412148
push 2
push str.The_level__d_file_is_not_sorted__n
call dword [sym.imp.MSVCR100.dll_printf]
add esp, 8
mov edi, dword [0x4802e8]
inc edi
jmp 0x411c9a
cmp eax, 0xa
je 0x412574
cmp ecx, 5
jne 0x41268f
mov edx, dword [0x468ec0]
mov eax, dword [edx + 0x4c]
test eax, eax
je 0x41217d
push eax
call dword [sym.imp.MSVCR100.dll_free]
add esp, 4
mov ecx, dword [0x468ec0]
mov edx, dword [ecx + 0x38]
push edx
call dword [sym.imp.MSVCR100.dll_fclose]
add esp, 4
cmp dword [0x489ae4], 2
je 0x4127e1
mov edi, dword [0x4802e8]
lea ebx, [edi - 1]
mov dword [0x469184], 0
test ebx, ebx
js 0x4127e1
mov edx, dword [ebp + 8]
mov ecx, edx
neg ecx
add ecx, ecx
add ecx, ecx
add ecx, ecx
mov dword [esp + 0x1c], ecx
mov eax, ebx
imul eax, edx
lea ecx, [ebx + 1]
imul ecx, edx
add eax, eax
add ecx, ecx
add eax, eax
add eax, eax
add ecx, ecx
add ecx, ecx
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], ecx
jmp 0x4126c7
push str.id_must_be_12_or_fewer_characters_n
call dword [sym.imp.MSVCR100.dll_printf]
add esp, 4
cmp dword [0x4a5b3c], 0
je 0x41227c
cmp dword [0x489ad0], 0
je 0x41227c
push str.stdout
push 0x476be0
call dword [sym.imp.MSVCR100.dll__stricmp]
add esp, 8
test eax, eax
je 0x41224f
mov eax, dword [0x489ad0]
push eax
call dword [sym.imp.MSVCR100.dll__ftelli64]
mov ecx, dword [0x489ad0]
add esp, 4
push edx
push eax
push ecx
call dword [sym.imp.MSVCR100.dll__fileno]
add esp, 4
push eax
call dword [sym.imp.MSVCR100.dll__chsize_s]
add esp, 0xc
cmp dword [0x4a5b4c], 0
je 0x41226d
mov edx, dword [0x489ad0]
push str.__body___html__n
push edx
call dword [sym.imp.MSVCR100.dll_fprintf]
add esp, 8
mov eax, dword [0x489ad0]
push eax
call dword [sym.imp.MSVCR100.dll_fclose]
add esp, 4
call fcn.0040a1a0
mov ecx, dword [0x469488]
mov esi, dword [sym.imp.MSVCR100.dll_remove]
inc dword [0x468ff8]
push ecx
call esi
mov edx, dword [0x4899d8]
add esp, 4
push edx
call esi
mov eax, dword [0x4802bc]
add esp, 4
push eax
call esi
mov ecx, dword [0x4802cc]
add esp, 4
push ecx
call esi
mov edx, dword [0x469488]
mov esi, dword [sym.imp.MSVCR100.dll_free]
add esp, 4
push edx
call esi
mov eax, dword [0x4899d8]
add esp, 4
push eax
call esi
mov ecx, dword [0x4802bc]
add esp, 4
push ecx
call esi
mov edx, dword [0x4802cc]
add esp, 4
push edx
call esi
add esp, 4
cmp dword [0x468ff8], 0
je 0x4122ff
call fcn.00409900
push 0x64
call dword [sym.imp.MSVCR100.dll_exit]
push 1
push str._nThere_should_only_be__d_ID_field_s__specified__n
call dword [sym.imp.MSVCR100.dll_printf]
add esp, 8
cmp dword [0x4a5b3c], 0
je 0x412398
cmp dword [0x489ad0], 0
je 0x412398
push str.stdout
push 0x476be0
call dword [sym.imp.MSVCR100.dll__stricmp]
add esp, 8
test eax, eax
je 0x41236b
mov eax, dword [0x489ad0]
push eax
call dword [sym.imp.MSVCR100.dll__ftelli64]
mov ecx, dword [0x489ad0]
add esp, 4
push edx
push eax
push ecx
call dword [sym.imp.MSVCR100.dll__fileno]
add esp, 4
push eax
call dword [sym.imp.MSVCR100.dll__chsize_s]
add esp, 0xc
cmp dword [0x4a5b4c], 0
je 0x412389
mov edx, dword [0x489ad0]
push str.__body___html__n
push edx
call dword [sym.imp.MSVCR100.dll_fprintf]
add esp, 8
mov eax, dword [0x489ad0]
push eax
call dword [sym.imp.MSVCR100.dll_fclose]
add esp, 4
call fcn.0040a1a0
mov ecx, dword [0x469488]
mov esi, dword [sym.imp.MSVCR100.dll_remove]
inc dword [0x468ff8]
push ecx
call esi
mov edx, dword [0x4899d8]
add esp, 4
push edx
call esi
mov eax, dword [0x4802bc]
add esp, 4
push eax
call esi
mov ecx, dword [0x4802cc]
add esp, 4
push ecx
call esi
mov edx, dword [0x469488]
mov esi, dword [sym.imp.MSVCR100.dll_free]
add esp, 4
push edx
call esi
mov eax, dword [0x4899d8]
add esp, 4
push eax
call esi
mov ecx, dword [0x4802bc]
add esp, 4
push ecx
call esi
mov edx, dword [0x4802cc]
add esp, 4
push edx
call esi
add esp, 4
cmp dword [0x468ff8], 0
je 0x41241b
call fcn.00409900
push 0x64
call dword [sym.imp.MSVCR100.dll_exit]
mov eax, dword [esp + 0x1c]
push eax
push str._nData_do_not_match_format_at__s_n
call dword [sym.imp.MSVCR100.dll_printf]
add esp, 8
cmp dword [0x4a5b3c], 0
je 0x4124b8
cmp dword [0x489ad0], 0
je 0x4124b8
push str.stdout
push 0x476be0
call dword [sym.imp.MSVCR100.dll__stricmp]
add esp, 8
test eax, eax
je 0x41248b
mov ecx, dword [0x489ad0]
push ecx
call dword [sym.imp.MSVCR100.dll__ftelli64]
add esp, 4
push edx
mov edx, dword [0x489ad0]
push eax
push edx
call dword [sym.imp.MSVCR100.dll__fileno]
add esp, 4
push eax
call dword [sym.imp.MSVCR100.dll__chsize_s]
add esp, 0xc
cmp dword [0x4a5b4c], 0
je 0x4124a8
mov eax, dword [0x489ad0]
push str.__body___html__n
push eax
call dword [sym.imp.MSVCR100.dll_fprintf]
add esp, 8
mov ecx, dword [0x489ad0]
push ecx
call dword [sym.imp.MSVCR100.dll_fclose]
add esp, 4
call fcn.0040a1a0
mov edx, dword [0x469488]
mov esi, dword [sym.imp.MSVCR100.dll_remove]
inc dword [0x468ff8]
push edx
call esi
mov eax, dword [0x4899d8]
add esp, 4
push eax
call esi
mov ecx, dword [0x4802bc]
add esp, 4
push ecx
call esi
mov edx, dword [0x4802cc]
add esp, 4
push edx
call esi
mov eax, dword [0x469488]
mov esi, dword [sym.imp.MSVCR100.dll_free]
add esp, 4
push eax
call esi
mov ecx, dword [0x4899d8]
add esp, 4
push ecx
call esi
mov edx, dword [0x4802bc]
add esp, 4
push edx
call esi
mov eax, dword [0x4802cc]
add esp, 4
push eax
call esi
add esp, 4
cmp dword [0x468ff8], 0
je 0x41256c
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 0x412550
push 0x64
call dword [sym.imp.MSVCR100.dll_exit]
push edi
push str.problem_at_line__ld_n
call dword [sym.imp.MSVCR100.dll_printf]
add esp, 8
cmp dword [0x4a5b3c], 0
je 0x412605
cmp dword [0x489ad0], 0
je 0x412605
push str.stdout
push 0x476be0
call dword [sym.imp.MSVCR100.dll__stricmp]
add esp, 8
test eax, eax
je 0x4125d7
mov edx, dword [0x489ad0]
push edx
call dword [sym.imp.MSVCR100.dll__ftelli64]
add esp, 4
push edx
push eax
mov eax, dword [0x489ad0]
push eax
call dword [sym.imp.MSVCR100.dll__fileno]
add esp, 4
push eax
call dword [sym.imp.MSVCR100.dll__chsize_s]
add esp, 0xc
cmp dword [0x4a5b4c], 0
je 0x4125f5
mov ecx, dword [0x489ad0]
push str.__body___html__n
push ecx
call dword [sym.imp.MSVCR100.dll_fprintf]
add esp, 8
mov edx, dword [0x489ad0]
push edx
call dword [sym.imp.MSVCR100.dll_fclose]
add esp, 4
call fcn.0040a1a0
mov eax, dword [0x469488]
mov esi, dword [sym.imp.MSVCR100.dll_remove]
inc dword [0x468ff8]
push eax
call esi
mov ecx, dword [0x4899d8]
add esp, 4
push ecx
call esi
mov edx, dword [0x4802bc]
add esp, 4
push edx
call esi
mov eax, dword [0x4802cc]
add esp, 4
push eax
call esi
mov ecx, dword [0x469488]
mov esi, dword [sym.imp.MSVCR100.dll_free]
add esp, 4
push ecx
call esi
mov edx, dword [0x4899d8]
add esp, 4
push edx
call esi
mov eax, dword [0x4802bc]
add esp, 4
push eax
call esi
mov ecx, dword [0x4802cc]
add esp, 4
push ecx
call esi
add esp, 4
cmp dword [0x468ff8], 0
je 0x412687
call fcn.00409900
push 0x64
call dword [sym.imp.MSVCR100.dll_exit]
cmp ecx, 9
jne 0x41217d
mov eax, dword [0x468ec0]
mov eax, dword [eax + 0x68]
test eax, eax
je 0x4121a3
push eax
call dword [sym.imp.MSVCR100.dll_free]
add esp, 4
jmp 0x4121a3
mov eax, dword [esp + 0x24]
mov edx, dword [ebp + 8]
mov ecx, dword [0x4a5b5c]
fld qword [0x4a5b10]
add ecx, eax
xor esi, esi
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x28], esi
cmp edx, 4
jl 0x41273a
add edx, 0xfffffffc
shr edx, 2
inc edx
lea eax, [edx*4]
mov dword [esp + 0x28], eax
fld qword [ecx]
fld st(1)
fucompp
fnstsw ax
test ah, 0x44
jp 0x412704
inc esi
fld qword [ecx + 8]
fld st(1)
fucompp
fnstsw ax
test ah, 0x44
jp 0x412713
inc esi
fld qword [ecx + 0x10]
fld st(1)
fucompp
fnstsw ax
test ah, 0x44
jp 0x412722
inc esi
fld qword [ecx + 0x18]
fld st(1)
fucompp
fnstsw ax
test ah, 0x44
jp 0x412731
inc esi
add ecx, 0x20
dec edx
jne 0x4126f6
mov edx, dword [ebp + 8]
cmp dword [esp + 0x28], edx
jge 0x41275b
mov edx, dword [ebp + 8]
sub edx, dword [esp + 0x28]
fld qword [ecx]
fld st(1)
fucompp
fnstsw ax
test ah, 0x44
jp 0x412755
inc esi
add ecx, 8
dec edx
jne 0x412747
fstp st(0)
test esi, esi
je 0x4127ce
cmp dword [0x476bc4], 0
mov eax, edi
je 0x412783
mov ecx, dword [0x489ab0]
push 1
push 1
push ecx
mov edx, ebx
call fcn.00408b00
add esp, 0xc
jmp 0x412794
mov edx, dword [0x476d0c]
push edx
mov ecx, ebx
call fcn.00423ae0
add esp, 4
mov eax, dword [esp + 0x20]
add eax, dword [0x4a5b5c]
mov edx, dword [esp + 0x2c]
sub edi, ebx
dec edi
imul edi, dword [ebp + 8]
add edi, edi
add edi, edi
add edi, edi
push edi
push eax
push edx
call dword [sym.imp.MSVCR100.dll_memmove]
mov edi, dword [0x4802e8]
inc dword [0x469184]
add esp, 0xc
dec edi
mov dword [0x4802e8], edi
mov eax, dword [esp + 0x1c]
add dword [esp + 0x24], eax
add dword [esp + 0x20], eax
dec ebx
jns 0x4126c0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret