436589:	50                   	push   %eax
43658a:	8d 45 84             	lea    -0x7c(%ebp),%eax
43658d:	50                   	push   %eax
43658e:	8d 45 a0             	lea    -0x60(%ebp),%eax
436591:	50                   	push   %eax
436592:	8d 45 a4             	lea    -0x5c(%ebp),%eax
436595:	50                   	push   %eax
436596:	8d 85 60 ff ff ff    	lea    -0xa0(%ebp),%eax
43659c:	50                   	push   %eax
43659d:	8d 45 a8             	lea    -0x58(%ebp),%eax
4365a0:	50                   	push   %eax
4365a1:	8d 45 ac             	lea    -0x54(%ebp),%eax
4365a4:	50                   	push   %eax
4365a5:	8d 45 b0             	lea    -0x50(%ebp),%eax
4365a8:	50                   	push   %eax
4365a9:	8d 45 94             	lea    -0x6c(%ebp),%eax
4365ac:	50                   	push   %eax
4365ad:	52                   	push   %edx
4365ae:	57                   	push   %edi
4365af:	53                   	push   %ebx
4365b0:	8d 42 10             	lea    0x10(%edx),%eax
4365b3:	50                   	push   %eax
4365b4:	8d 45 fc             	lea    -0x4(%ebp),%eax
4365b7:	50                   	push   %eax
4365b8:	8d 45 dc             	lea    -0x24(%ebp),%eax
4365bb:	50                   	push   %eax
4365bc:	8d 45 e0             	lea    -0x20(%ebp),%eax
4365bf:	50                   	push   %eax
4365c0:	8d 45 cc             	lea    -0x34(%ebp),%eax
4365c3:	50                   	push   %eax
4365c4:	8d 45 c8             	lea    -0x38(%ebp),%eax
4365c7:	50                   	push   %eax
4365c8:	8d 45 e4             	lea    -0x1c(%ebp),%eax
4365cb:	50                   	push   %eax
4365cc:	8d 45 b4             	lea    -0x4c(%ebp),%eax
4365cf:	50                   	push   %eax
4365d0:	8d 45 e8             	lea    -0x18(%ebp),%eax
4365d3:	50                   	push   %eax
4365d4:	8d 45 ec             	lea    -0x14(%ebp),%eax
4365d7:	50                   	push   %eax
4365d8:	8d 45 f0             	lea    -0x10(%ebp),%eax
4365db:	50                   	push   %eax
4365dc:	8d 45 f4             	lea    -0xc(%ebp),%eax
4365df:	50                   	push   %eax
4365e0:	8d 45 b8             	lea    -0x48(%ebp),%eax
4365e3:	50                   	push   %eax
4365e4:	8d 45 f8             	lea    -0x8(%ebp),%eax
4365e7:	50                   	push   %eax
4365e8:	8d 45 bc             	lea    -0x44(%ebp),%eax
4365eb:	50                   	push   %eax
4365ec:	ff 76 18             	push   0x18(%esi)
4365ef:	6a 1f                	push   $0x1f
4365f1:	6a 44                	push   $0x44
4365f3:	e8 78 0d 01 00       	call   0x447370
4365f8:	81 c4 84 00 00 00    	add    $0x84,%esp
4365fe:	5f                   	pop    %edi
4365ff:	5e                   	pop    %esi
436600:	5b                   	pop    %ebx
436601:	8b e5                	mov    %ebp,%esp
436603:	5d                   	pop    %ebp
436604:	c2 0c 00             	ret    $0xc
436607:	cc                   	int3
436608:	cc                   	int3
436609:	cc                   	int3
43660a:	cc                   	int3
43660b:	cc                   	int3
43660c:	cc                   	int3
43660d:	cc                   	int3
43660e:	cc                   	int3
43660f:	cc                   	int3
436610:	8b ff                	mov    %edi,%edi
436612:	55                   	push   %ebp
436613:	8b ec                	mov    %esp,%ebp
436615:	83 e4 f8             	and    $0xfffffff8,%esp
436618:	81 ec 84 06 00 00    	sub    $0x684,%esp
43661e:	a1 e4 f8 44 00       	mov    0x44f8e4,%eax
436623:	33 c4                	xor    %esp,%eax
436625:	89 84 24 80 06 00 00 	mov    %eax,0x680(%esp)
43662c:	53                   	push   %ebx
43662d:	56                   	push   %esi
43662e:	57                   	push   %edi
43662f:	8b 7d 08             	mov    0x8(%ebp),%edi
436632:	89 54 24 38          	mov    %edx,0x38(%esp)
436636:	89 4c 24 30          	mov    %ecx,0x30(%esp)
43663a:	89 7c 24 2c          	mov    %edi,0x2c(%esp)
43663e:	8b 87 80 00 00 00    	mov    0x80(%edi),%eax
436644:	8b 70 18             	mov    0x18(%eax),%esi
436647:	89 74 24 1c          	mov    %esi,0x1c(%esp)
43664b:	e8 40 6f ff ff       	call   0x42d590
436650:	2b 47 38             	sub    0x38(%edi),%eax
436653:	8b ca                	mov    %edx,%ecx
436655:	89 44 24 18          	mov    %eax,0x18(%esp)
436659:	1b 4f 3c             	sbb    0x3c(%edi),%ecx
43665c:	51                   	push   %ecx
43665d:	50                   	push   %eax
43665e:	89 4c 24 18          	mov    %ecx,0x18(%esp)
436662:	e8 b9 20 00 00       	call   0x438720
436667:	8b 4f 24             	mov    0x24(%edi),%ecx
43666a:	8b d8                	mov    %eax,%ebx
43666c:	69 c1 a0 0f 00 00    	imul   $0xfa0,%ecx,%eax
436672:	89 5c 24 20          	mov    %ebx,0x20(%esp)
436676:	89 54 24 14          	mov    %edx,0x14(%esp)
43667a:	89 44 24 0c          	mov    %eax,0xc(%esp)
43667e:	83 f9 02             	cmp    $0x2,%ecx
436681:	73 08                	jae    0x43668b
436683:	c7 44 24 0c a0 0f 00 	movl   $0xfa0,0xc(%esp)
43668a:	00
43668b:	85 d2                	test   %edx,%edx
43668d:	72 2b                	jb     0x4366ba
43668f:	77 06                	ja     0x436697
436691:	3b 5c 24 0c          	cmp    0xc(%esp),%ebx
436695:	76 23                	jbe    0x4366ba
436697:	83 f9 02             	cmp    $0x2,%ecx
43669a:	76 0f                	jbe    0x4366ab
43669c:	8d 98 c0 e0 ff ff    	lea    -0x1f40(%eax),%ebx
4366a2:	89 5c 24 20          	mov    %ebx,0x20(%esp)
4366a6:	83 fb 14             	cmp    $0x14,%ebx
4366a9:	77 09                	ja     0x4366b4
4366ab:	bb 14 00 00 00       	mov    $0x14,%ebx
4366b0:	89 5c 24 20          	mov    %ebx,0x20(%esp)
4366b4:	33 d2                	xor    %edx,%edx
4366b6:	89 54 24 14          	mov    %edx,0x14(%esp)
4366ba:	a1 5c 0c 45 00       	mov    0x450c5c,%eax
4366bf:	d1 e8                	shr    $1,%eax
4366c1:	85 d2                	test   %edx,%edx
4366c3:	72 10                	jb     0x4366d5
4366c5:	77 04                	ja     0x4366cb
4366c7:	3b d8                	cmp    %eax,%ebx
4366c9:	76 0a                	jbe    0x4366d5
4366cb:	c7 44 24 34 01 00 00 	movl   $0x1,0x34(%esp)
4366d2:	00
4366d3:	eb 08                	jmp    0x4366dd
4366d5:	c7 44 24 34 00 00 00 	movl   $0x0,0x34(%esp)
4366dc:	00
4366dd:	8b 4f 0c             	mov    0xc(%edi),%ecx
4366e0:	33 c0                	xor    %eax,%eax
4366e2:	03 47 08             	add    0x8(%edi),%eax
4366e5:	89 44 24 3c          	mov    %eax,0x3c(%esp)
4366e9:	8d 47 48             	lea    0x48(%edi),%eax
4366ec:	89 84 24 f0 00 00 00 	mov    %eax,0xf0(%esp)
4366f3:	83 d1 00             	adc    $0x0,%ecx
4366f6:	8b 47 5c             	mov    0x5c(%edi),%eax
4366f9:	89 84 24 f4 00 00 00 	mov    %eax,0xf4(%esp)
436700:	8a 47 64             	mov    0x64(%edi),%al
436703:	89 4c 24 40          	mov    %ecx,0x40(%esp)
436707:	8b 8f 80 00 00 00    	mov    0x80(%edi),%ecx
43670d:	88 84 24 fc 00 00 00 	mov    %al,0xfc(%esp)
436714:	8b 47 60             	mov    0x60(%edi),%eax
436717:	89 84 24 f8 00 00 00 	mov    %eax,0xf8(%esp)
43671e:	8b 01                	mov    (%ecx),%eax
436720:	89 44 24 0c          	mov    %eax,0xc(%esp)
436724:	83 b8 2c 03 00 00 00 	cmpl   $0x0,0x32c(%eax)
43672b:	75 1d                	jne    0x43674a
43672d:	83 b8 34 03 00 00 0c 	cmpl   $0xc,0x334(%eax)
436734:	72 14                	jb     0x43674a
436736:	80 b8 38 03 00 00 00 	cmpb   $0x0,0x338(%eax)
43673d:	c7 84 24 a4 00 00 00 	movl   $0x0,0xa4(%esp)
436744:	00 00 00 00
436748:	74 0b                	je     0x436755
43674a:	c7 84 24 a4 00 00 00 	movl   $0x1,0xa4(%esp)
436751:	01 00 00 00
436755:	8b 47 44             	mov    0x44(%edi),%eax
436758:	83 e0 01             	and    $0x1,%eax
43675b:	89 9c 24 e0 00 00 00 	mov    %ebx,0xe0(%esp)
436762:	89 84 24 a8 00 00 00 	mov    %eax,0xa8(%esp)
436769:	0f be 47 2d          	movsbl 0x2d(%edi),%eax
43676d:	89 84 24 ac 00 00 00 	mov    %eax,0xac(%esp)
436774:	8b 41 20             	mov    0x20(%ecx),%eax
436777:	89 84 24 b0 00 00 00 	mov    %eax,0xb0(%esp)
43677e:	8b 41 24             	mov    0x24(%ecx),%eax
436781:	89 84 24 b4 00 00 00 	mov    %eax,0xb4(%esp)
436788:	8b 41 04             	mov    0x4(%ecx),%eax
43678b:	8b 49 18             	mov    0x18(%ecx),%ecx
43678e:	83 c0 08             	add    $0x8,%eax
436791:	89 84 24 b8 00 00 00 	mov    %eax,0xb8(%esp)
436798:	89 94 24 e4 00 00 00 	mov    %edx,0xe4(%esp)
43679f:	8b 41 08             	mov    0x8(%ecx),%eax
4367a2:	89 84 24 bc 00 00 00 	mov    %eax,0xbc(%esp)
4367a9:	8b 41 10             	mov    0x10(%ecx),%eax
4367ac:	89 84 24 c0 00 00 00 	mov    %eax,0xc0(%esp)
4367b3:	8b 41 14             	mov    0x14(%ecx),%eax
4367b6:	8b 4c 24 30          	mov    0x30(%esp),%ecx
4367ba:	89 84 24 c4 00 00 00 	mov    %eax,0xc4(%esp)
4367c1:	8b 44 24 0c          	mov    0xc(%esp),%eax
4367c5:	89 8c 24 d8 00 00 00 	mov    %ecx,0xd8(%esp)
4367cc:	8b 40 10             	mov    0x10(%eax),%eax
4367cf:	89 84 24 c8 00 00 00 	mov    %eax,0xc8(%esp)
4367d6:	8b 87 80 00 00 00    	mov    0x80(%edi),%eax
4367dc:	8b 40 34             	mov    0x34(%eax),%eax
4367df:	89 84 24 cc 00 00 00 	mov    %eax,0xcc(%esp)
4367e6:	8b 44 24 3c          	mov    0x3c(%esp),%eax
4367ea:	89 84 24 d0 00 00 00 	mov    %eax,0xd0(%esp)
4367f1:	8b 44 24 40          	mov    0x40(%esp),%eax
4367f5:	89 84 24 d4 00 00 00 	mov    %eax,0xd4(%esp)
4367fc:	8b 44 24 38          	mov    0x38(%esp),%eax
436800:	89 84 24 dc 00 00 00 	mov    %eax,0xdc(%esp)
436807:	8b 87 94 00 00 00    	mov    0x94(%edi),%eax
43680d:	89 84 24 00 01 00 00 	mov    %eax,0x100(%esp)
436814:	85 d2                	test   %edx,%edx
436816:	77 10                	ja     0x436828
436818:	72 08                	jb     0x436822
43681a:	81 fb ff ff ff 7f    	cmp    $0x7fffffff,%ebx
436820:	73 06                	jae    0x436828
436822:	89 5c 24 0c          	mov    %ebx,0xc(%esp)
436826:	eb 08                	jmp    0x436830
436828:	c7 44 24 0c 00 00 00 	movl   $0x0,0xc(%esp)
43682f:	00
436830:	e8 cb 6b ff ff       	call   0x42d400
436835:	2b 87 98 00 00 00    	sub    0x98(%edi),%eax
43683b:	b9 ff ff ff 7f       	mov    $0x7fffffff,%ecx
436840:	2b 44 24 0c          	sub    0xc(%esp),%eax
436844:	3b c8                	cmp    %eax,%ecx
436846:	1b c9                	sbb    %ecx,%ecx
436848:	f7 d1                	not    %ecx
43684a:	23 c8                	and    %eax,%ecx
43684c:	89 8c 24 04 01 00 00 	mov    %ecx,0x104(%esp)
436853:	e8 a8 6b ff ff       	call   0x42d400
436858:	8b 36                	mov    (%esi),%esi
43685a:	89 84 24 e8 00 00 00 	mov    %eax,0xe8(%esp)
436861:	8b 47 44             	mov    0x44(%edi),%eax
436864:	83 e0 01             	and    $0x1,%eax
436867:	c7 84 24 ec 00 00 00 	movl   $0x0,0xec(%esp)
43686e:	00 00 00 00
436872:	8b 76 08             	mov    0x8(%esi),%esi
436875:	8b ce                	mov    %esi,%ecx
436877:	50                   	push   %eax
436878:	ff 74 24 3c          	push   0x3c(%esp)
43687c:	8b 87 80 00 00 00    	mov    0x80(%edi),%eax
436882:	ff 74 24 18          	push   0x18(%esp)
436886:	c7 84 24 1c 01 00 00 	movl   $0x7f70,0x11c(%esp)
43688d:	70 7f 00 00
436891:	ff 74 24 24          	push   0x24(%esp)
436895:	8b 00                	mov    (%eax),%eax
436897:	ff 77 6c             	push   0x6c(%edi)
43689a:	c7 84 24 28 01 00 00 	movl   $0x0,0x128(%esp)
4368a1:	00 00 00 00
4368a5:	ff 77 68             	push   0x68(%edi)
4368a8:	c7 84 24 20 01 00 00 	movl   $0x0,0x120(%esp)
4368af:	00 00 00 00
4368b3:	ff 70 10             	push   0x10(%eax)
4368b6:	c7 84 24 28 01 00 00 	movl   $0x0,0x128(%esp)
4368bd:	00 00 00 00
4368c1:	ff b7 9c 00 00 00    	push   0x9c(%edi)
4368c7:	c7 84 24 38 01 00 00 	movl   $0x0,0x138(%esp)
4368ce:	00 00 00 00
4368d2:	c7 84 24 3c 01 00 00 	movl   $0x0,0x13c(%esp)
4368d9:	00 00 00 00
4368dd:	c7 84 24 40 01 00 00 	movl   $0x0,0x140(%esp)
4368e4:	00 00 00 00
4368e8:	c7 84 24 44 01 00 00 	movl   $0x0,0x144(%esp)
4368ef:	00 00 00 00
4368f3:	c7 84 24 48 01 00 00 	movl   $0x0,0x148(%esp)
4368fa:	00 00 00 00
4368fe:	c7 84 24 4c 01 00 00 	movl   $0x0,0x14c(%esp)
436905:	00 00 00 00
436909:	c7 84 24 50 01 00 00 	movl   $0x0,0x150(%esp)
436910:	00 00 00 00
436914:	c7 84 24 54 01 00 00 	movl   $0x0,0x154(%esp)
43691b:	00 00 00 00
43691f:	ff 15 84 23 45 00    	call   *0x452384
436925:	8b 4c 24 3c          	mov    0x3c(%esp),%ecx
436929:	ff d6                	call   *%esi
43692b:	8b 74 24 30          	mov    0x30(%esp),%esi
43692f:	ba 60 19 41 00       	mov    $0x411960,%edx
436934:	68 93 24 00 00       	push   $0x2493
436939:	8b ce                	mov    %esi,%ecx
43693b:	e8 40 0b 01 00       	call   0x447480
436940:	89 44 24 10          	mov    %eax,0x10(%esp)
436944:	83 fe 26             	cmp    $0x26,%esi
436947:	74 60                	je     0x4369a9
436949:	83 fe 70             	cmp    $0x70,%esi
43694c:	75 1d                	jne    0x43696b
43694e:	e8 ad 6a ff ff       	call   0x42d400
436953:	8b d0                	mov    %eax,%edx
436955:	8b 44 24 1c          	mov    0x1c(%esp),%eax
436959:	8b ca                	mov    %edx,%ecx
43695b:	2b 48 18             	sub    0x18(%eax),%ecx
43695e:	81 f9 60 ea 00 00    	cmp    $0xea60,%ecx
436964:	76 49                	jbe    0x4369af
436966:	89 50 18             	mov    %edx,0x18(%eax)
436969:	eb 04                	jmp    0x43696f
43696b:	85 c0                	test   %eax,%eax
43696d:	79 3a                	jns    0x4369a9
43696f:	8b cf                	mov    %edi,%ecx
436971:	e8 fa 18 00 00       	call   0x438270
436976:	8b 74 24 14          	mov    0x14(%esp),%esi
43697a:	8b 4c 24 30          	mov    0x30(%esp),%ecx
43697e:	8b 57 44             	mov    0x44(%edi),%edx
436981:	56                   	push   %esi
436982:	53                   	push   %ebx
436983:	51                   	push   %ecx
436984:	ff 74 24 1c          	push   0x1c(%esp)
436988:	33 c9                	xor    %ecx,%ecx
43698a:	03 4f 08             	add    0x8(%edi),%ecx
43698d:	50                   	push   %eax
43698e:	8b 47 0c             	mov    0xc(%edi),%eax
436991:	83 d0 00             	adc    $0x0,%eax
436994:	83 e2 01             	and    $0x1,%edx
436997:	50                   	push   %eax
436998:	8b 87 80 00 00 00    	mov    0x80(%edi),%eax
43699e:	51                   	push   %ecx
43699f:	ff 70 10             	push   0x10(%eax)
4369a2:	e8 39 f2 ff ff       	call   0x435be0
4369a7:	eb 0a                	jmp    0x4369b3
4369a9:	8b 74 24 14          	mov    0x14(%esp),%esi
4369ad:	eb 08                	jmp    0x4369b7
4369af:	8b 74 24 14          	mov    0x14(%esp),%esi
4369b3:	8b 44 24 10          	mov    0x10(%esp),%eax
4369b7:	83 7c 24 34 00       	cmpl   $0x0,0x34(%esp)
4369bc:	0f 84 a9 02 00 00    	je     0x436c6b
4369c2:	85 c0                	test   %eax,%eax
4369c4:	0f 88 a1 02 00 00    	js     0x436c6b
4369ca:	c7 84 24 a0 00 00 00 	movl   $0x1,0xa0(%esp)
4369d1:	01 00 00 00
4369d5:	c7 44 24 0c 01 00 00 	movl   $0x1,0xc(%esp)
4369dc:	00
4369dd:	e8 1e 6a ff ff       	call   0x42d400
4369e2:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
4369e6:	2b 41 1c             	sub    0x1c(%ecx),%eax
4369e9:	3d 60 ea 00 00       	cmp    $0xea60,%eax
4369ee:	73 44                	jae    0x436a34
4369f0:	8b 41 20             	mov    0x20(%ecx),%eax
4369f3:	8b 51 24             	mov    0x24(%ecx),%edx
4369f6:	8b ca                	mov    %edx,%ecx
4369f8:	89 44 24 10          	mov    %eax,0x10(%esp)
4369fc:	0f a4 c1 01          	shld   $0x1,%eax,%ecx
436a00:	03 c0                	add    %eax,%eax
436a02:	01 44 24 10          	add    %eax,0x10(%esp)
436a06:	8b 44 24 10          	mov    0x10(%esp),%eax
436a0a:	13 d1                	adc    %ecx,%edx
436a0c:	0f ac d0 01          	shrd   $0x1,%edx,%eax
436a10:	d1 ea                	shr    $1,%edx
436a12:	3b f2                	cmp    %edx,%esi
436a14:	77 1e                	ja     0x436a34
436a16:	72 04                	jb     0x436a1c
436a18:	3b d8                	cmp    %eax,%ebx
436a1a:	73 18                	jae    0x436a34
436a1c:	8b 44 24 1c          	mov    0x1c(%esp),%eax
436a20:	b9 01 00 00 00       	mov    $0x1,%ecx
436a25:	c7 44 24 0c 00 00 00 	movl   $0x0,0xc(%esp)
436a2c:	00
436a2d:	83 c0 28             	add    $0x28,%eax
436a30:	f0 0f c1 08          	lock xadd %ecx,(%eax)
436a34:	83 3d 68 1a 45 00 00 	cmpl   $0x0,0x451a68
436a3b:	74 6a                	je     0x436aa7
436a3d:	83 3d 6c 1a 45 00 00 	cmpl   $0x0,0x451a6c
436a44:	75 61                	jne    0x436aa7
436a46:	83 3d 4c 14 45 00 00 	cmpl   $0x0,0x45144c
436a4d:	74 58                	je     0x436aa7
436a4f:	83 3d 64 1a 45 00 00 	cmpl   $0x0,0x451a64