Function at 0x51c0a0
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x74
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
lea eax, [esp + 0x38]
push eax
push esi
call fcn.0052db20
add esp, 8
test al, al
jne 0x51c11c
mov esi, dword [sym.imp.MSVCR100.dll___iob_func]
push 0x594fe4
push 0x59500c
mov byte [0x77af32], 1
call esi
mov edi, dword [sym.imp.MSVCR100.dll_fprintf]
add eax, 0x20
push eax
call edi
call esi
mov ebx, dword [sym.imp.MSVCR100.dll_fflush]
add eax, 0x20
push eax
call ebx
add esp, 0x10
push 0x59501c
push 0x595044
call esi
add eax, 0x40
push eax
call edi
call esi
add eax, 0x40
push eax
call ebx
add esp, 0x10
push 2
call dword [sym.imp.MSVCR100.dll_exit]
mov eax, dword [esp + 0x38]
test eax, eax
jns 0x51c12a
neg eax
mov dword [esp + 0x38], eax
mov ebx, 1
cmp eax, ebx
jge 0x51c174
mov esi, dword [sym.imp.MSVCR100.dll___iob_func]
push 0x595054
push 0x59507c
mov byte [0x77af32], bl
call esi
mov edi, dword [sym.imp.MSVCR100.dll_fprintf]
add eax, 0x20
push eax
call edi
call esi
mov ebx, dword [sym.imp.MSVCR100.dll_fflush]
add eax, 0x20
push eax
call ebx
add esp, 0x10
push str.ReadContour_____less_than_one_vertex__n
push 0x5950b4
jmp 0x51c101
add eax, 0xa
push eax
call fcn.005108e0
mov ecx, dword [esp + 0x3c]
add ecx, 0xa
push ecx
call fcn.005109b0
lea edx, [esp + 0x54]
push edx
push esi
call fcn.0052dae0
add esp, 0x10
test al, al
jne 0x51c1e0
mov esi, dword [sym.imp.MSVCR100.dll___iob_func]
push 0x5950c4
push 0x5950ec
mov byte [0x77af32], bl
call esi
mov edi, dword [sym.imp.MSVCR100.dll_fprintf]
add eax, 0x20
push eax
call edi
call esi
mov ebx, dword [sym.imp.MSVCR100.dll_fflush]
add eax, 0x20
push eax
call ebx
add esp, 0x10
push 0x5950fc
push 0x595124
jmp 0x51c101
lea eax, [esp + 0x40]
push eax
push esi
call fcn.0052db20
add esp, 8
test al, al
jne 0x51c236
mov esi, dword [sym.imp.MSVCR100.dll___iob_func]
push 0x595134
push 0x59515c
mov byte [0x77af32], bl
call esi
mov edi, dword [sym.imp.MSVCR100.dll_fprintf]
add eax, 0x20
push eax
call edi
call esi
mov ebx, dword [sym.imp.MSVCR100.dll_fflush]
add eax, 0x20
push eax
call ebx
add esp, 0x10
push 0x59516c
push 0x595194
jmp 0x51c101
mov ecx, dword [esp + 0x40]
inc ecx
cmp ecx, 2
ja 0x51c5d6
lea edx, [esp + 0x70]
push edx
lea eax, [esp + 0x7c]
push eax
push esi
call fcn.0052dba0
add esp, 0xc
test al, al
jne 0x51c29f
mov esi, dword [sym.imp.MSVCR100.dll___iob_func]
push 0x595214
push 0x59523c
mov byte [0x77af32], bl
call esi
mov edi, dword [sym.imp.MSVCR100.dll_fprintf]
add eax, 0x20
push eax
call edi
call esi
mov ebx, dword [sym.imp.MSVCR100.dll_fflush]
add eax, 0x20
push eax
call ebx
add esp, 0x10
push 0x59524c
push 0x595274
jmp 0x51c101
mov ecx, dword [0x583f6c]
fld qword [esp + 0x70]
push ecx
sub esp, 0x10
fstp qword [esp + 8]
fld qword [esp + 0x8c]
fstp qword [esp]
call fcn.00510da0
mov esi, dword [esp + 0x54]
add esp, 0x14
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], eax
mov edi, ebx
cmp dword [esp + 0x38], ebx
jle 0x51c3bf
jmp 0x51c2e0
lea edx, [esp + 0x3c]
push edx
mov edx, dword [ebp + 8]
lea eax, [esp + 0x54]
push eax
lea ecx, [esp + 0x60]
push ecx
push edx
call fcn.0052db70
add esp, 0x10
test al, al
je 0x51c426
mov ecx, dword [ebp + 8]
lea eax, [esp + 0x40]
push eax
push ecx
call fcn.0052db20
add esp, 8
test al, al
je 0x51c46a
mov ecx, dword [ebp + 8]
lea edx, [esp + 0x60]
push edx
lea eax, [esp + 0x6c]
push eax
push ecx
call fcn.0052dba0
add esp, 0xc
test al, al
je 0x51c4ae
test esi, esi
jne 0x51c364
mov edx, dword [esp + 0x3c]
fld qword [esp + 0x60]
push edx
sub esp, 0x10
fstp qword [esp + 8]
lea eax, [esp + 0x58]
fld qword [esp + 0x7c]
fstp qword [esp]
push eax
call fcn.00510e20
add esp, 0x18
jmp 0x51c3af
cmp esi, 0xffffffff
je 0x51c371
cmp esi, ebx
jne 0x51c4f2
mov ecx, dword [esp + 0x3c]
fld qword [esp + 0x50]
push ecx
push esi
sub esp, 0x20
fstp qword [esp + 0x18]
lea edx, [esp + 0x6c]
fld qword [esp + 0x80]
fstp qword [esp + 0x10]
fld qword [esp + 0x88]
fstp qword [esp + 8]
fld qword [esp + 0x90]
fstp qword [esp]
push edx
call fcn.00510e60
add esp, 0x2c
mov esi, dword [esp + 0x40]
add edi, ebx
cmp edi, dword [esp + 0x38]
jl 0x51c2e0
lea eax, [esp + 0x3c]
push eax
mov eax, dword [ebp + 8]
lea ecx, [esp + 0x54]
push ecx
lea edx, [esp + 0x60]
push edx
push eax
call fcn.0052db70
add esp, 0x10
test al, al
jne 0x51c536
mov esi, dword [sym.imp.MSVCR100.dll___iob_func]
push 0x595444
push 0x59546c
mov byte [0x77af32], bl
call esi
mov edi, dword [sym.imp.MSVCR100.dll_fprintf]
add eax, 0x20
push eax
call edi
call esi
mov ebx, dword [sym.imp.MSVCR100.dll_fflush]
add eax, 0x20
push eax
call ebx
add esp, 0x10
push 0x59547c
push 0x5954a4
jmp 0x51c101
mov esi, dword [sym.imp.MSVCR100.dll___iob_func]
push 0x595284
push 0x5952ac
mov byte [0x77af32], bl
call esi
mov edi, dword [sym.imp.MSVCR100.dll_fprintf]
add eax, 0x20
push eax
call edi
call esi
mov ebx, dword [sym.imp.MSVCR100.dll_fflush]
add eax, 0x20
push eax
call ebx
add esp, 0x10
push 0x5952bc
push 0x5952e4
jmp 0x51c101
mov esi, dword [sym.imp.MSVCR100.dll___iob_func]
push 0x5952f4
push 0x59531c
mov byte [0x77af32], bl
call esi
mov edi, dword [sym.imp.MSVCR100.dll_fprintf]
add eax, 0x20
push eax
call edi
call esi
mov ebx, dword [sym.imp.MSVCR100.dll_fflush]
add eax, 0x20
push eax
call ebx
add esp, 0x10
push 0x59532c
push 0x595354
jmp 0x51c101
mov esi, dword [sym.imp.MSVCR100.dll___iob_func]
push 0x595364
push 0x59538c
mov byte [0x77af32], bl
call esi
mov edi, dword [sym.imp.MSVCR100.dll_fprintf]
add eax, 0x20
push eax
call edi
call esi
mov ebx, dword [sym.imp.MSVCR100.dll_fflush]
add eax, 0x20
push eax
call ebx
add esp, 0x10
push 0x59539c
push 0x5953c4
jmp 0x51c101
mov esi, dword [sym.imp.MSVCR100.dll___iob_func]
push 0x5953d4
push 0x5953fc
mov byte [0x77af32], bl
call esi
mov edi, dword [sym.imp.MSVCR100.dll_fprintf]
add eax, 0x20
push eax
call edi
call esi
mov ebx, dword [sym.imp.MSVCR100.dll_fflush]
add eax, 0x20
push eax
call ebx
add esp, 0x10
push 0x59540c
push 0x595434
jmp 0x51c101
test esi, esi
jne 0x51c558
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x44]
push ecx
push edx
push eax
call fcn.00510f80
add esp, 0xc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp esi, 0xffffffff
je 0x51c5a5
cmp esi, ebx
je 0x51c5a5
mov esi, dword [sym.imp.MSVCR100.dll___iob_func]
push 0x5954b4
push 0x5954dc
mov byte [0x77af32], bl
call esi
mov edi, dword [sym.imp.MSVCR100.dll_fprintf]
add eax, 0x20
push eax
call edi
call esi
mov ebx, dword [sym.imp.MSVCR100.dll_fflush]
add eax, 0x20
push eax
call ebx
add esp, 0x10
push str.ReadContour_____unknown_data_format__n
push 0x595514
jmp 0x51c101
mov ecx, dword [esp + 0x3c]
fld qword [esp + 0x50]
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x44]
push ecx
push esi
sub esp, 0x10
fstp qword [esp + 8]
fld qword [esp + 0x70]
fstp qword [esp]
push edx
push eax
call fcn.00510f90
add esp, 0x20
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [sym.imp.MSVCR100.dll___iob_func]
push 0x5951a4
push 0x5951cc
mov byte [0x77af32], bl
call esi
mov edi, dword [sym.imp.MSVCR100.dll_fprintf]
add eax, 0x20
push eax
call edi
call esi
mov ebx, dword [sym.imp.MSVCR100.dll_fflush]
add eax, 0x20
push eax
call ebx
add esp, 0x10
push 0x5951dc
push 0x595204
jmp 0x51c101