450383:	80 78 bf 00          	cmpb   $0x0,-0x41(%eax)
450387:	74 2c                	je     0x4503b5
450389:	8b 45 08             	mov    0x8(%ebp),%eax
45038c:	8b 40 f0             	mov    -0x10(%eax),%eax
45038f:	8b 55 08             	mov    0x8(%ebp),%edx
450392:	8b 52 c0             	mov    -0x40(%edx),%edx
450395:	03 42 34             	add    0x34(%edx),%eax
450398:	8b 55 08             	mov    0x8(%ebp),%edx
45039b:	89 42 f8             	mov    %eax,-0x8(%edx)
45039e:	8b 45 08             	mov    0x8(%ebp),%eax
4503a1:	8b 40 f4             	mov    -0xc(%eax),%eax
4503a4:	8b 55 08             	mov    0x8(%ebp),%edx
4503a7:	8b 52 c0             	mov    -0x40(%edx),%edx
4503aa:	03 42 30             	add    0x30(%edx),%eax
4503ad:	8b 55 08             	mov    0x8(%ebp),%edx
4503b0:	89 42 fc             	mov    %eax,-0x4(%edx)
4503b3:	eb 1e                	jmp    0x4503d3
4503b5:	8b 45 08             	mov    0x8(%ebp),%eax
4503b8:	8b 40 f0             	mov    -0x10(%eax),%eax
4503bb:	83 c0 10             	add    $0x10,%eax
4503be:	8b 55 08             	mov    0x8(%ebp),%edx
4503c1:	89 42 f8             	mov    %eax,-0x8(%edx)
4503c4:	8b 45 08             	mov    0x8(%ebp),%eax
4503c7:	8b 40 f4             	mov    -0xc(%eax),%eax
4503ca:	83 c0 10             	add    $0x10,%eax
4503cd:	8b 55 08             	mov    0x8(%ebp),%edx
4503d0:	89 42 fc             	mov    %eax,-0x4(%edx)
4503d3:	8b 45 08             	mov    0x8(%ebp),%eax
4503d6:	8b 40 c8             	mov    -0x38(%eax),%eax
4503d9:	80 78 38 00          	cmpb   $0x0,0x38(%eax)
4503dd:	0f 84 c0 00 00 00    	je     0x4504a3
4503e3:	8b 45 08             	mov    0x8(%ebp),%eax
4503e6:	80 78 df 00          	cmpb   $0x0,-0x21(%eax)
4503ea:	0f 85 b3 00 00 00    	jne    0x4504a3
4503f0:	8b 45 08             	mov    0x8(%ebp),%eax
4503f3:	ff 40 f8             	incl   -0x8(%eax)
4503f6:	8b 45 08             	mov    0x8(%ebp),%eax
4503f9:	ff 40 fc             	incl   -0x4(%eax)
4503fc:	8b 45 08             	mov    0x8(%ebp),%eax
4503ff:	8b 40 d8             	mov    -0x28(%eax),%eax
450402:	8b 40 14             	mov    0x14(%eax),%eax
450405:	e8 82 d6 fc ff       	call   0x41da8c
45040a:	8b 55 08             	mov    0x8(%ebp),%edx
45040d:	89 42 b8             	mov    %eax,-0x48(%edx)
450410:	8b 45 08             	mov    0x8(%ebp),%eax
450413:	f6 40 0c 01          	testb  $0x1,0xc(%eax)
450417:	75 46                	jne    0x45045f
450419:	8b 45 08             	mov    0x8(%ebp),%eax
45041c:	8b 40 d8             	mov    -0x28(%eax),%eax
45041f:	8b 40 14             	mov    0x14(%eax),%eax
450422:	e8 65 d6 fc ff       	call   0x41da8c
450427:	8b 55 08             	mov    0x8(%ebp),%edx
45042a:	89 42 b8             	mov    %eax,-0x48(%edx)
45042d:	ba 14 00 00 ff       	mov    $0xff000014,%edx
450432:	b8 0f 00 00 ff       	mov    $0xff00000f,%eax
450437:	e8 0c 41 fd ff       	call   0x424548
45043c:	8b d0                	mov    %eax,%edx
45043e:	8b 45 08             	mov    0x8(%ebp),%eax
450441:	8b 40 d8             	mov    -0x28(%eax),%eax
450444:	8b 40 14             	mov    0x14(%eax),%eax
450447:	e8 1c d6 fc ff       	call   0x41da68
45044c:	8b 45 08             	mov    0x8(%ebp),%eax
45044f:	8d 50 f0             	lea    -0x10(%eax),%edx
450452:	8b 45 08             	mov    0x8(%ebp),%eax
450455:	8b 40 d8             	mov    -0x28(%eax),%eax
450458:	e8 db d9 fc ff       	call   0x41de38
45045d:	eb 24                	jmp    0x450483
45045f:	8b 45 08             	mov    0x8(%ebp),%eax
450462:	8b 40 d8             	mov    -0x28(%eax),%eax
450465:	8b 40 14             	mov    0x14(%eax),%eax
450468:	ba 0f 00 00 ff       	mov    $0xff00000f,%edx
45046d:	e8 22 d6 fc ff       	call   0x41da94
450472:	8b 45 08             	mov    0x8(%ebp),%eax
450475:	8d 50 f0             	lea    -0x10(%eax),%edx
450478:	8b 45 08             	mov    0x8(%ebp),%eax
45047b:	8b 40 d8             	mov    -0x28(%eax),%eax
45047e:	e8 b5 d9 fc ff       	call   0x41de38
450483:	8b 45 08             	mov    0x8(%ebp),%eax
450486:	8b 50 b8             	mov    -0x48(%eax),%edx
450489:	8b 45 08             	mov    0x8(%ebp),%eax
45048c:	8b 40 d8             	mov    -0x28(%eax),%eax
45048f:	8b 40 14             	mov    0x14(%eax),%eax
450492:	e8 fd d5 fc ff       	call   0x41da94
450497:	8b 45 08             	mov    0x8(%ebp),%eax
45049a:	ff 40 f0             	incl   -0x10(%eax)
45049d:	8b 45 08             	mov    0x8(%ebp),%eax
4504a0:	ff 40 f4             	incl   -0xc(%eax)
4504a3:	8b 45 08             	mov    0x8(%ebp),%eax
4504a6:	80 78 bf 00          	cmpb   $0x0,-0x41(%eax)
4504aa:	0f 84 5a 01 00 00    	je     0x45060a
4504b0:	8b 45 08             	mov    0x8(%ebp),%eax
4504b3:	8b 40 c8             	mov    -0x38(%eax),%eax
4504b6:	8b 58 40             	mov    0x40(%eax),%ebx
4504b9:	83 fb ff             	cmp    $0xffffffff,%ebx
4504bc:	7e 49                	jle    0x450507
4504be:	8b 45 08             	mov    0x8(%ebp),%eax
4504c1:	8b 45 08             	mov    0x8(%ebp),%eax
4504c4:	8b 40 c0             	mov    -0x40(%eax),%eax
4504c7:	e8 8c c8 ff ff       	call   0x44cd58
4504cc:	3b d8                	cmp    %eax,%ebx
4504ce:	7d 37                	jge    0x450507
4504d0:	8b 45 08             	mov    0x8(%ebp),%eax
4504d3:	8b 40 f4             	mov    -0xc(%eax),%eax
4504d6:	50                   	push   %eax
4504d7:	8b 45 08             	mov    0x8(%ebp),%eax
4504da:	8b 40 c8             	mov    -0x38(%eax),%eax
4504dd:	8b 40 40             	mov    0x40(%eax),%eax
4504e0:	50                   	push   %eax
4504e1:	8b 45 08             	mov    0x8(%ebp),%eax
4504e4:	8b 40 c8             	mov    -0x38(%eax),%eax
4504e7:	8a 40 39             	mov    0x39(%eax),%al
4504ea:	50                   	push   %eax
4504eb:	8b 45 08             	mov    0x8(%ebp),%eax
4504ee:	8b 48 f0             	mov    -0x10(%eax),%ecx
4504f1:	8b 45 08             	mov    0x8(%ebp),%eax
4504f4:	8b 50 d8             	mov    -0x28(%eax),%edx
4504f7:	8b 45 08             	mov    0x8(%ebp),%eax
4504fa:	8b 40 c0             	mov    -0x40(%eax),%eax
4504fd:	e8 6e cd ff ff       	call   0x44d270
450502:	e9 0d 02 00 00       	jmp    0x450714
450507:	b2 01                	mov    $0x1,%dl
450509:	a1 1c c3 41 00       	mov    0x41c31c,%eax
45050e:	e8 49 1e fd ff       	call   0x42235c
450513:	8b 55 08             	mov    0x8(%ebp),%edx
450516:	89 42 b4             	mov    %eax,-0x4c(%edx)
450519:	33 c0                	xor    %eax,%eax
45051b:	55                   	push   %ebp
45051c:	68 03 06 45 00       	push   $0x450603
450521:	64 ff 30             	push   %fs:(%eax)
450524:	64 89 20             	mov    %esp,%fs:(%eax)
450527:	8b 45 08             	mov    0x8(%ebp),%eax
45052a:	8b 40 b4             	mov    -0x4c(%eax),%eax
45052d:	b2 01                	mov    $0x1,%dl
45052f:	8b 08                	mov    (%eax),%ecx
450531:	ff 51 3c             	call   *0x3c(%ecx)
450534:	68 f8 7f 00 00       	push   $0x7ff8
450539:	6a 00                	push   $0x0
45053b:	e8 0c 62 fb ff       	call   0x40674c
450540:	8b d0                	mov    %eax,%edx
450542:	8b 45 08             	mov    0x8(%ebp),%eax
450545:	8b 40 b4             	mov    -0x4c(%eax),%eax
450548:	e8 57 2f fd ff       	call   0x4234a4
45054d:	8b 45 08             	mov    0x8(%ebp),%eax
450550:	8b 40 d8             	mov    -0x28(%eax),%eax
450553:	8b 40 0c             	mov    0xc(%eax),%eax
450556:	8b 40 18             	mov    0x18(%eax),%eax
450559:	8b 55 08             	mov    0x8(%ebp),%edx
45055c:	89 42 b8             	mov    %eax,-0x48(%edx)
45055f:	8b 45 08             	mov    0x8(%ebp),%eax
450562:	8b 40 d8             	mov    -0x28(%eax),%eax
450565:	8b 40 0c             	mov    0xc(%eax),%eax
450568:	ba 12 00 00 ff       	mov    $0xff000012,%edx
45056d:	e8 56 cd fc ff       	call   0x41d2c8
450572:	8b 45 08             	mov    0x8(%ebp),%eax
450575:	8b 40 b4             	mov    -0x4c(%eax),%eax
450578:	50                   	push   %eax
450579:	8b 45 08             	mov    0x8(%ebp),%eax
45057c:	8b 40 b4             	mov    -0x4c(%eax),%eax
45057f:	8b 10                	mov    (%eax),%edx
450581:	ff 52 20             	call   *0x20(%edx)
450584:	8b 55 08             	mov    0x8(%ebp),%edx
450587:	8b 52 fc             	mov    -0x4(%edx),%edx
45058a:	8b 4d 08             	mov    0x8(%ebp),%ecx
45058d:	8b 71 f4             	mov    -0xc(%ecx),%esi
450590:	2b d6                	sub    %esi,%edx
450592:	2b d0                	sub    %eax,%edx
450594:	d1 fa                	sar    $1,%edx
450596:	79 03                	jns    0x45059b
450598:	83 d2 00             	adc    $0x0,%edx
45059b:	8b 45 08             	mov    0x8(%ebp),%eax
45059e:	03 d6                	add    %esi,%edx
4505a0:	42                   	inc    %edx
4505a1:	52                   	push   %edx
4505a2:	8b 45 08             	mov    0x8(%ebp),%eax
4505a5:	8b 40 b4             	mov    -0x4c(%eax),%eax
4505a8:	8b 10                	mov    (%eax),%edx
4505aa:	ff 52 2c             	call   *0x2c(%edx)
4505ad:	8b 55 08             	mov    0x8(%ebp),%edx
4505b0:	8b 52 f8             	mov    -0x8(%edx),%edx
4505b3:	8b 4d 08             	mov    0x8(%ebp),%ecx
4505b6:	8b 59 f0             	mov    -0x10(%ecx),%ebx
4505b9:	2b d3                	sub    %ebx,%edx
4505bb:	2b d0                	sub    %eax,%edx
4505bd:	d1 fa                	sar    $1,%edx
4505bf:	79 03                	jns    0x4505c4
4505c1:	83 d2 00             	adc    $0x0,%edx
4505c4:	8b 45 08             	mov    0x8(%ebp),%eax
4505c7:	03 d3                	add    %ebx,%edx
4505c9:	42                   	inc    %edx
4505ca:	8b 45 08             	mov    0x8(%ebp),%eax
4505cd:	8b 40 d8             	mov    -0x28(%eax),%eax
4505d0:	59                   	pop    %ecx
4505d1:	e8 b6 d7 fc ff       	call   0x41dd8c
4505d6:	8b 45 08             	mov    0x8(%ebp),%eax
4505d9:	8b 50 b8             	mov    -0x48(%eax),%edx
4505dc:	8b 45 08             	mov    0x8(%ebp),%eax
4505df:	8b 40 d8             	mov    -0x28(%eax),%eax
4505e2:	8b 40 0c             	mov    0xc(%eax),%eax
4505e5:	e8 de cc fc ff       	call   0x41d2c8
4505ea:	33 c0                	xor    %eax,%eax
4505ec:	5a                   	pop    %edx
4505ed:	59                   	pop    %ecx
4505ee:	59                   	pop    %ecx
4505ef:	64 89 10             	mov    %edx,%fs:(%eax)
4505f2:	68 14 07 45 00       	push   $0x450714
4505f7:	8b 45 08             	mov    0x8(%ebp),%eax
4505fa:	8b 40 b4             	mov    -0x4c(%eax),%eax
4505fd:	e8 46 2c fb ff       	call   0x403248
450602:	c3                   	ret
450603:	e9 94 33 fb ff       	jmp    0x40399c
450608:	eb ed                	jmp    0x4505f7
45060a:	8b 45 08             	mov    0x8(%ebp),%eax
45060d:	8b 55 08             	mov    0x8(%ebp),%edx
450610:	8d 70 f0             	lea    -0x10(%eax),%esi
450613:	8d 7a a4             	lea    -0x5c(%edx),%edi
450616:	a5                   	movsl  %ds:(%esi),%es:(%edi)
450617:	a5                   	movsl  %ds:(%esi),%es:(%edi)
450618:	a5                   	movsl  %ds:(%esi),%es:(%edi)
450619:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45061a:	8b 45 08             	mov    0x8(%ebp),%eax
45061d:	8b 40 c8             	mov    -0x38(%eax),%eax
450620:	8b 40 4c             	mov    0x4c(%eax),%eax
450623:	8b 10                	mov    (%eax),%edx
450625:	ff 52 2c             	call   *0x2c(%edx)
450628:	8b 55 08             	mov    0x8(%ebp),%edx
45062b:	8b 52 f8             	mov    -0x8(%edx),%edx
45062e:	8b 4d 08             	mov    0x8(%ebp),%ecx
450631:	2b 51 f0             	sub    -0x10(%ecx),%edx
450634:	3b c2                	cmp    %edx,%eax
450636:	7d 4a                	jge    0x450682
450638:	8b 45 08             	mov    0x8(%ebp),%eax
45063b:	8b 40 c8             	mov    -0x38(%eax),%eax
45063e:	8b 40 4c             	mov    0x4c(%eax),%eax
450641:	8b 10                	mov    (%eax),%edx
450643:	ff 52 2c             	call   *0x2c(%edx)
450646:	8b 55 08             	mov    0x8(%ebp),%edx
450649:	8b 52 f8             	mov    -0x8(%edx),%edx
45064c:	8b 4d 08             	mov    0x8(%ebp),%ecx
45064f:	2b 51 f0             	sub    -0x10(%ecx),%edx
450652:	2b d0                	sub    %eax,%edx
450654:	d1 fa                	sar    $1,%edx
450656:	79 03                	jns    0x45065b
450658:	83 d2 00             	adc    $0x0,%edx
45065b:	8b 45 08             	mov    0x8(%ebp),%eax
45065e:	03 50 f0             	add    -0x10(%eax),%edx
450661:	42                   	inc    %edx
450662:	8b 45 08             	mov    0x8(%ebp),%eax
450665:	89 50 f0             	mov    %edx,-0x10(%eax)
450668:	8b 45 08             	mov    0x8(%ebp),%eax
45066b:	8b 40 c8             	mov    -0x38(%eax),%eax
45066e:	8b 40 4c             	mov    0x4c(%eax),%eax
450671:	8b 10                	mov    (%eax),%edx
450673:	ff 52 2c             	call   *0x2c(%edx)
450676:	8b 55 08             	mov    0x8(%ebp),%edx
450679:	03 42 f0             	add    -0x10(%edx),%eax
45067c:	8b 55 08             	mov    0x8(%ebp),%edx
45067f:	89 42 f8             	mov    %eax,-0x8(%edx)
450682:	8b 45 08             	mov    0x8(%ebp),%eax
450685:	8b 40 c8             	mov    -0x38(%eax),%eax
450688:	8b 40 4c             	mov    0x4c(%eax),%eax
45068b:	8b 10                	mov    (%eax),%edx
45068d:	ff 52 20             	call   *0x20(%edx)
450690:	8b 55 08             	mov    0x8(%ebp),%edx
450693:	8b 52 fc             	mov    -0x4(%edx),%edx
450696:	8b 4d 08             	mov    0x8(%ebp),%ecx
450699:	2b 51 f4             	sub    -0xc(%ecx),%edx
45069c:	3b c2                	cmp    %edx,%eax
45069e:	7d 4a                	jge    0x4506ea
4506a0:	8b 45 08             	mov    0x8(%ebp),%eax
4506a3:	8b 40 c8             	mov    -0x38(%eax),%eax
4506a6:	8b 40 4c             	mov    0x4c(%eax),%eax
4506a9:	8b 10                	mov    (%eax),%edx
4506ab:	ff 52 20             	call   *0x20(%edx)
4506ae:	8b 55 08             	mov    0x8(%ebp),%edx
4506b1:	8b 52 fc             	mov    -0x4(%edx),%edx
4506b4:	8b 4d 08             	mov    0x8(%ebp),%ecx
4506b7:	2b 51 f4             	sub    -0xc(%ecx),%edx
4506ba:	2b d0                	sub    %eax,%edx
4506bc:	d1 fa                	sar    $1,%edx
4506be:	79 03                	jns    0x4506c3
4506c0:	83 d2 00             	adc    $0x0,%edx
4506c3:	8b 45 08             	mov    0x8(%ebp),%eax
4506c6:	03 50 f4             	add    -0xc(%eax),%edx
4506c9:	42                   	inc    %edx
4506ca:	8b 45 08             	mov    0x8(%ebp),%eax
4506cd:	89 50 f4             	mov    %edx,-0xc(%eax)
4506d0:	8b 45 08             	mov    0x8(%ebp),%eax
4506d3:	8b 40 c8             	mov    -0x38(%eax),%eax
4506d6:	8b 40 4c             	mov    0x4c(%eax),%eax
4506d9:	8b 10                	mov    (%eax),%edx
4506db:	ff 52 20             	call   *0x20(%edx)
4506de:	8b 55 08             	mov    0x8(%ebp),%edx
4506e1:	03 42 f4             	add    -0xc(%edx),%eax
4506e4:	8b 55 08             	mov    0x8(%ebp),%edx
4506e7:	89 42 fc             	mov    %eax,-0x4(%edx)
4506ea:	8b 45 08             	mov    0x8(%ebp),%eax
4506ed:	8b 40 c8             	mov    -0x38(%eax),%eax
4506f0:	8b 48 4c             	mov    0x4c(%eax),%ecx
4506f3:	8b 45 08             	mov    0x8(%ebp),%eax
4506f6:	8d 50 f0             	lea    -0x10(%eax),%edx
4506f9:	8b 45 08             	mov    0x8(%ebp),%eax
4506fc:	8b 40 d8             	mov    -0x28(%eax),%eax
4506ff:	e8 b8 d8 fc ff       	call   0x41dfbc
450704:	8b 45 08             	mov    0x8(%ebp),%eax
450707:	8b 55 08             	mov    0x8(%ebp),%edx
45070a:	8d 70 a4             	lea    -0x5c(%eax),%esi
45070d:	8d 7a f0             	lea    -0x10(%edx),%edi
450710:	a5                   	movsl  %ds:(%esi),%es:(%edi)
450711:	a5                   	movsl  %ds:(%esi),%es:(%edi)
450712:	a5                   	movsl  %ds:(%esi),%es:(%edi)
450713:	a5                   	movsl  %ds:(%esi),%es:(%edi)
450714:	8b 45 08             	mov    0x8(%ebp),%eax
450717:	8b 40 c8             	mov    -0x38(%eax),%eax
45071a:	80 78 38 00          	cmpb   $0x0,0x38(%eax)
45071e:	74 6b                	je     0x45078b
450720:	8b 45 08             	mov    0x8(%ebp),%eax
450723:	ff 48 f8             	decl   -0x8(%eax)
450726:	8b 45 08             	mov    0x8(%ebp),%eax
450729:	ff 48 fc             	decl   -0x4(%eax)
45072c:	eb 5d                	jmp    0x45078b
45072e:	8b 45 08             	mov    0x8(%ebp),%eax
450731:	83 78 c0 00          	cmpl   $0x0,-0x40(%eax)
450735:	74 35                	je     0x45076c
450737:	8b 45 08             	mov    0x8(%ebp),%eax
45073a:	80 78 08 00          	cmpb   $0x0,0x8(%eax)
45073e:	75 2c                	jne    0x45076c
450740:	8b 45 08             	mov    0x8(%ebp),%eax
450743:	8b 40 f0             	mov    -0x10(%eax),%eax
450746:	8b 55 08             	mov    0x8(%ebp),%edx
450749:	8b 52 c0             	mov    -0x40(%edx),%edx
45074c:	03 42 34             	add    0x34(%edx),%eax
45074f:	8b 55 08             	mov    0x8(%ebp),%edx
450752:	89 42 f8             	mov    %eax,-0x8(%edx)
450755:	8b 45 08             	mov    0x8(%ebp),%eax
450758:	8b 40 f4             	mov    -0xc(%eax),%eax
45075b:	8b 55 08             	mov    0x8(%ebp),%edx
45075e:	8b 52 c0             	mov    -0x40(%edx),%edx
450761:	03 42 30             	add    0x30(%edx),%eax
450764:	8b 55 08             	mov    0x8(%ebp),%edx
450767:	89 42 fc             	mov    %eax,-0x4(%edx)
45076a:	eb 18                	jmp    0x450784
45076c:	8b 45 08             	mov    0x8(%ebp),%eax
45076f:	8b 40 f0             	mov    -0x10(%eax),%eax
450772:	8b 55 08             	mov    0x8(%ebp),%edx
450775:	89 42 f8             	mov    %eax,-0x8(%edx)
450778:	8b 45 08             	mov    0x8(%ebp),%eax
45077b:	8b 40 f4             	mov    -0xc(%eax),%eax
45077e:	8b 55 08             	mov    0x8(%ebp),%edx
450781:	89 42 fc             	mov    %eax,-0x4(%edx)
450784:	8b 45 08             	mov    0x8(%ebp),%eax