Function at 0x511b70
Capabilities:
Terminate process

Disassembly:
push ebx
xor ebx, ebx
cmp dword [0x5f40e8], ebx
jg 0x511b8a
mov eax, dword [esp + 0x30]
mov byte [0x5f4178], bl
mov byte [eax], 1
pop ebx
ret
push esi
push edi
mov edi, dword [esp + 0x38]
mov byte [edi], bl
cmp byte [0x5f419c], bl
je 0x511d31
mov eax, dword [0x5f4188]
inc eax
mov dword [0x5f4188], eax
cmp eax, 0x1f4
jle 0x511c0b
mov esi, dword [sym.imp.MSVCR100.dll___iob_func]
push 0x594588
push 0x5945c4
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 str.ComputeVD_____aborting_computation____too_many_restarts_
push 0x594610
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]
call fcn.0050f0b0
call fcn.00521680
call fcn.00511590
xor esi, esi
mov byte [esp + 0x30], bl
cmp byte [esp + 0x1c], bl
je 0x511c2d
call fcn.00527c00
fstp st(0)
fldz
mov dword [0x5f4114], ebx
fst qword [0x5f41a0]
mov dword [0x5f4110], ebx
fst qword [0x5f41a8]
mov dword [0x5f4168], ebx
fst qword [0x5f41b0]
mov dword [0x5f417c], ebx
fst qword [0x5f41b8]
mov dword [0x5f4150], ebx
mov byte [0x5f4178], 1
mov byte [0x5f419c], bl
mov byte [0x77af32], bl
mov byte [0x5f4140], bl
mov byte [0x5f419e], bl
mov byte [0x5f41df], bl
mov byte [0x5f4143], bl
mov byte [0x5f4167], bl
mov byte [0x5f4142], 1
mov byte [0x5f4166], 1
mov byte [0x5f4141], 1
mov byte [0x77af30], bl
cmp byte [0x5f40d1], bl
jne 0x511cd7
fstp st(0)
call fcn.00510a50
cmp byte [0x5f40d1], bl
jne 0x511cd5
cmp byte [0x5946d0], bl
je 0x511cd5
call fcn.005111d0
fldz
cmp esi, ebx
jle 0x511cfc
fstp st(0)
cmp dword [0x5f40f4], ebx
jg 0x511cf1
cmp dword [0x5f4100], ebx
jle 0x511e02
push esi
call fcn.00527710
fldz
add esp, 4
cmp dword [0x5f4100], ebx
jle 0x511e00
cmp byte [esp + 0x54], bl
je 0x511dc9
fld st(0)
cmp byte [0x5f40d0], bl
je 0x511dab
fld qword [0x57b6f8]
fdiv qword [0x594578]
jmp 0x511dd1
cmp byte [esp + 0x14], bl
je 0x511d98
push ebx
mov dword [0x5f4154], ebx
mov dword [0x5f416c], ebx
mov dword [0x5f4194], ebx
mov dword [0x5f4174], ebx
mov dword [0x5f4184], ebx
mov dword [0x5f4158], ebx
mov dword [0x5f4160], ebx
mov dword [0x5f4190], ebx
mov dword [0x5f4198], ebx
mov dword [0x5f4170], ebx
mov dword [0x5f4188], ebx
mov byte [0x5f40d1], bl
mov byte [0x77af31], bl
call dword [sym.imp.MSVCR100.dll_srand]
mov esi, dword [esp + 0x28]
add esp, 4
jmp 0x511c20
cmp byte [0x5f4178], bl
jne 0x511ed6
mov byte [edi], 1
pop edi
pop esi
pop ebx
ret
fstp st(1)
fld qword [0x57b6f8]
fxch st(1)
sub esp, 0x10
fstp qword [esp + 8]
fstp qword [esp]
call fcn.00527310
add esp, 0x10
jmp 0x511e02
fld qword [esp + 0x4c]
fld qword [esp + 0x44]
fcom st(2)
fnstsw ax
test ah, 0x41
je 0x511dfc
fxch st(2)
fcomp st(1)
fnstsw ax
test ah, 5
jnp 0x511db5
mov eax, dword [esp + 0x28]
fstp st(1)
fstp st(0)
cmp eax, ebx
jle 0x511e02
push eax
call fcn.00526cd0
add esp, 4
jmp 0x511e02
fstp st(2)
jmp 0x511db5
fstp st(0)
cmp byte [esp + 0x58], bl
je 0x511e1b
mov dword [0x5f40f4], ebx
mov dword [0x5f4100], ebx
mov byte [0x5f42b8], 1
mov ecx, dword [esp + 0x30]
push ecx
push 0x5f4174
push 0x5f4184
push 0x5f4158
call fcn.0051dae0
add esp, 0x10
mov byte [0x5f419d], bl
mov dword [0x5f415c], ebx
cmp dword [0x5f4100], ebx
jle 0x511e5e
push 0x5f415c
call fcn.0051b780
add esp, 4
cmp dword [0x5f4100], ebx
sete al
mov byte [0x5f4164], al
cmp al, bl
jne 0x511e6f
call fcn.0051bbd0
mov dword [0x5f418c], ebx
cmp dword [0x5f40f4], ebx
jle 0x511e90
push 0x5f418c
call fcn.0051b220
add esp, 4
cmp dword [0x5f40f4], ebx
sete dl
mov byte [0x5f4165], dl
cmp byte [0x5f40d1], bl
jne 0x511eae
mov eax, dword [esp + 0x20]
push eax
call fcn.00511060
add esp, 4
cmp byte [0x5f419c], bl
jne 0x51220e
call fcn.005194a0
cmp byte [esp + 0x1c], bl
je 0x511ed6
call fcn.00527c00
fadd qword [0x5f41a0]
fstp qword [0x5f41a0]
cmp byte [0x5f4167], bl
jne 0x511fba
cmp byte [0x5f4142], bl
je 0x511f27
cmp byte [esp + 0x1c], bl
je 0x511ef7
call fcn.00527c00
fstp st(0)
mov byte [0x5f4142], bl
call fcn.0050f140
push 2
call fcn.005116e0
mov ecx, dword [0x5f40e8]
add esp, 4
mov eax, 3
add ecx, 0xfffffffe
mov dword [0x5f4144], eax
mov dword [0x5f4180], ecx
jmp 0x511f32
mov eax, dword [0x5f4144]
mov ecx, dword [0x5f4180]
cmp eax, ecx
jge 0x511f65
call fcn.00511770
push eax
call fcn.00522ce0
add esp, 4
cmp byte [0x5f419c], bl
jne 0x51220e
mov eax, dword [0x5f4144]
mov ecx, dword [0x5f4180]
inc eax
mov dword [0x5f4144], eax
cmp eax, ecx
jl 0x511f36
jne 0x511fae
call fcn.005191b0
call fcn.00526370
call fcn.0051d760
cmp byte [0x5f4165], bl
je 0x511f86
cmp byte [0x5f4164], bl
jne 0x511f90
call fcn.0050fbc0
call fcn.0051e070
mov byte [0x5f4167], 1
cmp byte [esp + 0x1c], bl
je 0x511fba
call fcn.00527c00
fadd qword [0x5f41a8]
fstp qword [0x5f41a8]
cmp byte [0x5f4167], bl
je 0x512205
cmp byte [0x5f4165], bl
jne 0x512051
cmp byte [0x5f4166], bl
je 0x511ff3
cmp byte [esp + 0x1c], bl
je 0x511fdb
call fcn.00527c00
fstp st(0)
push ebx
mov byte [0x5f4166], bl
call fcn.005116e0
add esp, 4
xor eax, eax
mov dword [0x5f414c], eax
jmp 0x511ff8
mov eax, dword [0x5f414c]
mov ecx, dword [0x5f40f4]
cmp eax, ecx
jge 0x512031
call fcn.00511770
push eax
call fcn.00524c70
add esp, 4
cmp byte [0x5f419c], bl
jne 0x51220e
mov eax, dword [0x5f414c]
mov ecx, dword [0x5f40f4]
inc eax
mov dword [0x5f414c], eax
cmp eax, ecx
jl 0x512002
jne 0x512051
mov byte [0x5f4165], 1
cmp byte [esp + 0x1c], bl
je 0x512051
call fcn.00527c00
fadd qword [0x5f41b0]
fstp qword [0x5f41b0]
cmp byte [0x5f4167], bl
je 0x512205
cmp byte [0x5f4165], bl
je 0x51211c
cmp byte [0x5f4164], bl
jne 0x51211c
cmp byte [0x5f4141], bl
je 0x5120a8
cmp byte [esp + 0x1c], bl
je 0x51208a
call fcn.00527c00
fstp st(0)
mov byte [0x5f4141], bl
call fcn.00521680
push 1
call fcn.005116e0
add esp, 4
xor eax, eax
mov dword [0x5f4148], eax
jmp 0x5120ad
mov eax, dword [0x5f4148]
mov ecx, dword [0x5f4100]
cmp eax, ecx
jge 0x5120fc
mov esi, dword [sym.imp.MSVCR100.dll___iob_func]
push 0x594620
push 0x594664
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 str.Compute_____insertion_of_circular_arcs_into_VD_not_yet_supported_
push 0x5946bc
jmp 0x511bf0
jne 0x51211c
mov byte [0x5f4164], 1
cmp byte [esp + 0x1c], bl
je 0x51211c
call fcn.00527c00
fadd qword [0x5f41b8]
fstp qword [0x5f41b8]
cmp byte [0x5f4167], bl
je 0x512205
cmp byte [0x5f4165], bl
je 0x512205
cmp byte [0x5f4164], bl
je 0x512205
call fcn.005210a0
cmp dword [0x5f40f4], ebx
jg 0x51215e
cmp dword [0x5f4100], ebx
jg 0x51215e
mov byte [0x5f42b8], 1
jmp 0x51216c
call fcn.0051d730
test al, al
jne 0x51216c
call fcn.00511a60
cmp byte [esp + 0x58], bl
jne 0x512195
cmp byte [esp + 0x40], bl
je 0x512195
call fcn.00510460
test al, al
jne 0x512195
cmp byte [esp + 0x1c], bl
je 0x51218e
call fcn.00527c00
fstp st(0)
call fcn.005100e0
jmp 0x5121a7
cmp byte [esp + 0x1c], bl
je 0x5121a2
call fcn.00527c00
fstp st(0)
call fcn.005104e0
cmp byte [esp + 0x1c], bl
je 0x5121be
call fcn.00527c00
fadd qword [0x5f41b8]
fstp qword [0x5f41b8]
call fcn.0050ecd0
cmp byte [0x5f4143], bl
jne 0x512205
cmp byte [esp + 0x10], bl
je 0x5121e5
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.0051d470
add esp, 4
mov byte [0x5f4143], 1
cmp byte [esp + 0x58], bl
je 0x5121fe
cmp byte [esp + 0x5c], bl
je 0x5121fe
mov edx, dword [esp + 0x60]
push edx
call fcn.0051d180
add esp, 4
mov byte [0x5f4143], 1
mov byte [0x5f4178], bl
mov byte [edi], 1
pop edi
pop esi
pop ebx
ret