Function at 0x4201a0
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x170
mov eax, dword [0x49f3b0]
xor eax, ebp
mov dword [ebp - 0x118], eax
push esi
push edi
lea eax, [ebp - 0xa0]
push eax
lea ecx, [ebp - 0x48]
push ecx
lea edx, [ebp - 0x90]
push edx
push 1
mov ecx, dword [ebp + 8]
call fcn.00402700
mov ecx, eax
call fcn.00425b40
lea eax, [ebp - 0x68]
push eax
lea ecx, [ebp - 0x28]
push ecx
lea edx, [ebp - 0x30]
push edx
push 0
mov ecx, dword [ebp + 8]
call fcn.00402700
mov ecx, eax
call fcn.00425b40
fld qword [ebp - 0x90]
fstp qword [ebp - 0x78]
fld qword [ebp - 0x48]
fstp qword [ebp - 0x40]
fld qword [ebp - 0xa0]
fstp qword [ebp - 0x58]
fld qword [ebp - 0x30]
fstp qword [ebp - 0x70]
fld qword [ebp - 0x28]
fstp qword [ebp - 0x10]
fld qword [ebp - 0x68]
fstp qword [ebp - 0x88]
fld qword [ebp - 0x70]
fsub qword [ebp - 0x78]
fstp qword [ebp - 0x20]
fld qword [ebp - 0x10]
fsub qword [ebp - 0x40]
fstp qword [ebp - 0x60]
fld qword [ebp - 0x88]
fsub qword [ebp - 0x58]
fstp qword [ebp - 0x50]
fld qword [ebp - 0x20]
fmul qword [ebp - 0x20]
fld qword [ebp - 0x60]
fmul qword [ebp - 0x60]
faddp st(1)
fld qword [ebp - 0x50]
fmul qword [ebp - 0x50]
faddp st(1)
sub esp, 8
fstp qword [esp]
call sub.MSVCR100.dll_fabs
fstp qword [esp]
call sub.MSVCR100.dll_sqrt
add esp, 8
fdiv qword [ebp + 0x24]
call fcn.0046f820
add eax, 1
mov dword [ebp - 0x94], eax
fild dword [ebp - 0x94]
fdivr qword [ebp - 0x20]
fstp qword [ebp - 0x20]
fild dword [ebp - 0x94]
fdivr qword [ebp - 0x60]
fstp qword [ebp - 0x60]
fild dword [ebp - 0x94]
fdivr qword [ebp - 0x50]
fstp qword [ebp - 0x50]
mov byte [ebp - 0x79], 0
mov dword [ebp - 0xa4], 0
jmp 0x4202c3
mov eax, dword [ebp - 0xa4]
add eax, 1
mov dword [ebp - 0xa4], eax
mov ecx, dword [ebp - 0xa4]
cmp ecx, dword [ebp - 0x94]
jg 0x4205ec
fild dword [ebp - 0xa4]
fmul qword [ebp - 0x50]
fadd qword [ebp - 0x58]
fstp qword [ebp - 0xb8]
fld qword [ebp - 0xb8]
fsub qword [ebp + 0xc]
fstp qword [ebp - 0xb0]
sub esp, 8
fld qword [ebp - 0xb0]
fstp qword [esp]
call sub.MSVCR100.dll_fabs
add esp, 8
fcomp qword [ebp + 0x14]
fnstsw ax
test ah, 5
jp 0x4205e7
fild dword [ebp - 0xa4]
fmul qword [ebp - 0x20]
fadd qword [ebp - 0x78]
fstp qword [ebp - 0xd8]
fild dword [ebp - 0xa4]
fmul qword [ebp - 0x60]
fadd qword [ebp - 0x40]
fstp qword [ebp - 0xc0]
fld qword [ebp - 0xb0]
fmul qword [ebp - 0xb0]
fsubr qword [ebp + 0x1c]
sub esp, 8
fstp qword [esp]
call sub.MSVCR100.dll_fabs
fstp qword [esp]
call sub.MSVCR100.dll_sqrt
add esp, 8
fstp qword [ebp - 0xd0]
fld qword [0x48bac0]
fcomp qword [ebp - 0xd0]
fnstsw ax
test ah, 1
jne 0x420384
mov dword [ebp - 0xdc], 1
sub esp, 8
fld qword [ebp - 0xd0]
fstp qword [esp]
sub esp, 8
fld qword [ebp - 0xc0]
fstp qword [esp]
sub esp, 8
fld qword [ebp - 0xd8]
fstp qword [esp]
mov ecx, dword [ebp + 0x2c]
call fcn.0046b040
mov dword [ebp - 0xc4], eax
movzx edx, byte [ebp - 0x79]
test edx, edx
je 0x42056a
fld qword [ebp - 8]
fsub qword [ebp - 0xd8]
fstp qword [ebp - 0x110]
fld qword [ebp - 0x18]
fsub qword [ebp - 0xc0]
fstp qword [ebp - 0xf0]
fld qword [ebp - 0x110]
fmul qword [ebp - 0x110]
fld qword [ebp - 0xf0]
fmul qword [ebp - 0xf0]
faddp st(1)
sub esp, 8
fstp qword [esp]
call sub.MSVCR100.dll_sqrt
add esp, 8
fstp qword [ebp - 0x100]
fld qword [ebp - 0x38]
fcomp qword [ebp - 0xd0]
fnstsw ax
test ah, 0x41
jne 0x42042c
fld qword [ebp - 0xd0]
fstp qword [ebp - 0x170]
jmp 0x420435
fld qword [ebp - 0x38]
fstp qword [ebp - 0x170]
fld qword [ebp - 0x170]
fstp qword [ebp - 0xe8]
fld qword [ebp - 0xe8]
fdiv qword [0x48cc48]
fstp qword [ebp - 0x108]
mov ecx, dword [ebp + 0x2c]
call fcn.00467ad0
fadd st(0), st(0)
fdiv qword [0x48d428]
fstp qword [ebp - 0xf8]
fld qword [ebp - 0xd0]
fadd qword [ebp - 0x38]
fsub qword [ebp - 0x108]
fcomp qword [ebp - 0x100]
fnstsw ax
test ah, 5
jp 0x42056a
fld qword [ebp - 0xd0]
fadd qword [ebp - 0x38]
fld qword [ebp - 0xf8]
fdiv qword [0x48c198]
faddp st(1)
fcomp qword [ebp - 0x100]
fnstsw ax
test ah, 0x41
jne 0x42056a
fld qword [ebp - 0xf8]
fcomp qword [ebp - 0xe8]
fnstsw ax
test ah, 0x41
jne 0x42056a
sub esp, 8
fld qword [ebp - 0xe8]
fstp qword [esp]
sub esp, 8
fld qword [ebp - 0xc0]
fstp qword [esp]
sub esp, 8
fld qword [ebp - 0xd8]
fstp qword [esp]
sub esp, 8
fld qword [ebp - 0x18]
fstp qword [esp]
sub esp, 8
fld qword [ebp - 8]
fstp qword [esp]
mov ecx, dword [ebp + 0x2c]
call fcn.0046b0c0
mov dword [ebp - 0x114], eax
cmp dword [ebp - 0x114], 0
je 0x42056a
mov ecx, 0xa
mov esi, 0x48cce8
lea edi, [ebp - 0x140]
rep movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x140]
push eax
push 0x48cd10
call dword [sym.imp.MSVCR100.dll_printf]
add esp, 8
push 0x48cd24
push 0x48cd30
call dword [sym.imp.MSVCR100.dll_printf]
add esp, 8
push 0xd1
push 0x48cd3c
call dword [sym.imp.MSVCR100.dll_printf]
add esp, 8
push 1
call dword [sym.imp.MSVCR100.dll_exit]
cmp dword [ebp - 0xc4], 0
je 0x4205c8
mov ecx, 0xa
mov esi, str._function_XY_Grid::update_returns__1___
lea edi, [ebp - 0x168]
rep movsd dword es:[edi], dword [esi]
lea ecx, [ebp - 0x168]
push ecx
push 0x48cd70
call dword [sym.imp.MSVCR100.dll_printf]
add esp, 8
push 0x48cd84
push 0x48cd90
call dword [sym.imp.MSVCR100.dll_printf]
add esp, 8
push 0xdb
push 0x48cd9c
call dword [sym.imp.MSVCR100.dll_printf]
add esp, 8
push 1
call dword [sym.imp.MSVCR100.dll_exit]
fld qword [ebp - 0xd8]
fstp qword [ebp - 8]
fld qword [ebp - 0xc0]
fstp qword [ebp - 0x18]
fld qword [ebp - 0xd0]
fstp qword [ebp - 0x38]
mov byte [ebp - 0x79], 1
jmp 0x4202b4
pop edi
pop esi
mov ecx, dword [ebp - 0x118]
xor ecx, ebp
call fcn.0046f7be
mov esp, ebp
pop ebp
ret