80a3e1:	83 c4 04             	add    $0x4,%esp
80a3e4:	56                   	push   %esi
80a3e5:	ff 15 04 e2 d5 00    	call   *0xd5e204
80a3eb:	83 c4 04             	add    $0x4,%esp
80a3ee:	8b f7                	mov    %edi,%esi
80a3f0:	85 ff                	test   %edi,%edi
80a3f2:	75 dc                	jne    0x80a3d0
80a3f4:	89 3b                	mov    %edi,(%ebx)
80a3f6:	5f                   	pop    %edi
80a3f7:	5e                   	pop    %esi
80a3f8:	5b                   	pop    %ebx
80a3f9:	c3                   	ret
80a3fa:	cc                   	int3
80a3fb:	cc                   	int3
80a3fc:	cc                   	int3
80a3fd:	cc                   	int3
80a3fe:	cc                   	int3
80a3ff:	cc                   	int3
80a400:	cc                   	int3
80a401:	cc                   	int3
80a402:	cc                   	int3
80a403:	cc                   	int3
80a404:	cc                   	int3
80a405:	cc                   	int3
80a406:	cc                   	int3
80a407:	cc                   	int3
80a408:	cc                   	int3
80a409:	cc                   	int3
80a40a:	cc                   	int3
80a40b:	cc                   	int3
80a40c:	cc                   	int3
80a40d:	cc                   	int3
80a40e:	cc                   	int3
80a40f:	cc                   	int3
80a410:	56                   	push   %esi
80a411:	8b 74 24 08          	mov    0x8(%esp),%esi
80a415:	8b 16                	mov    (%esi),%edx
80a417:	85 d2                	test   %edx,%edx
80a419:	75 04                	jne    0x80a41f
80a41b:	33 c0                	xor    %eax,%eax
80a41d:	5e                   	pop    %esi
80a41e:	c3                   	ret
80a41f:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
80a423:	8b 42 08             	mov    0x8(%edx),%eax
80a426:	8b 52 0c             	mov    0xc(%edx),%edx
80a429:	89 11                	mov    %edx,(%ecx)
80a42b:	8b 0e                	mov    (%esi),%ecx
80a42d:	8b 09                	mov    (%ecx),%ecx
80a42f:	89 0e                	mov    %ecx,(%esi)
80a431:	5e                   	pop    %esi
80a432:	c3                   	ret
80a433:	cc                   	int3
80a434:	cc                   	int3
80a435:	cc                   	int3
80a436:	cc                   	int3
80a437:	cc                   	int3
80a438:	cc                   	int3
80a439:	cc                   	int3
80a43a:	cc                   	int3
80a43b:	cc                   	int3
80a43c:	cc                   	int3
80a43d:	cc                   	int3
80a43e:	cc                   	int3
80a43f:	cc                   	int3
80a440:	81 ec 2c 02 00 00    	sub    $0x22c,%esp
80a446:	a1 24 f6 d5 00       	mov    0xd5f624,%eax
80a44b:	33 c4                	xor    %esp,%eax
80a44d:	89 84 24 28 02 00 00 	mov    %eax,0x228(%esp)
80a454:	8b 84 24 34 02 00 00 	mov    0x234(%esp),%eax
80a45b:	0f 57 c0             	xorps  %xmm0,%xmm0
80a45e:	8b 8c 24 40 02 00 00 	mov    0x240(%esp),%ecx
80a465:	53                   	push   %ebx
80a466:	8b 9c 24 3c 02 00 00 	mov    0x23c(%esp),%ebx
80a46d:	55                   	push   %ebp
80a46e:	56                   	push   %esi
80a46f:	8b b4 24 48 02 00 00 	mov    0x248(%esp),%esi
80a476:	33 ed                	xor    %ebp,%ebp
80a478:	89 44 24 24          	mov    %eax,0x24(%esp)
80a47c:	89 4c 24 28          	mov    %ecx,0x28(%esp)
80a480:	c7 44 24 0c 00 00 00 	movl   $0x0,0xc(%esp)
80a487:	00
80a488:	66 0f 13 44 24 14    	movlpd %xmm0,0x14(%esp)
80a48e:	89 6c 24 10          	mov    %ebp,0x10(%esp)
80a492:	89 28                	mov    %ebp,(%eax)
80a494:	57                   	push   %edi
80a495:	8b bc 24 40 02 00 00 	mov    0x240(%esp),%edi
80a49c:	89 7c 24 20          	mov    %edi,0x20(%esp)
80a4a0:	85 db                	test   %ebx,%ebx
80a4a2:	0f 84 b4 04 00 00    	je     0x80a95c
80a4a8:	57                   	push   %edi
80a4a9:	e8 b2 10 00 00       	call   0x80b560
80a4ae:	83 c4 04             	add    $0x4,%esp
80a4b1:	89 44 24 24          	mov    %eax,0x24(%esp)
80a4b5:	85 c0                	test   %eax,%eax
80a4b7:	75 08                	jne    0x80a4c1
80a4b9:	8d 45 1b             	lea    0x1b(%ebp),%eax
80a4bc:	e9 59 01 00 00       	jmp    0x80a61a
80a4c1:	50                   	push   %eax
80a4c2:	85 f6                	test   %esi,%esi
80a4c4:	b8 14 52 c3 00       	mov    $0xc35214,%eax
80a4c9:	0f 45 c6             	cmovne %esi,%eax
80a4cc:	50                   	push   %eax
80a4cd:	68 3c 52 c3 00       	push   $0xc3523c
80a4d2:	8d 44 24 1c          	lea    0x1c(%esp),%eax
80a4d6:	6a 00                	push   $0x0
80a4d8:	50                   	push   %eax
80a4d9:	e8 d2 fa ff ff       	call   0x809fb0
80a4de:	8b f0                	mov    %eax,%esi
80a4e0:	83 c4 14             	add    $0x14,%esp
80a4e3:	85 f6                	test   %esi,%esi
80a4e5:	74 12                	je     0x80a4f9
80a4e7:	ff 74 24 24          	push   0x24(%esp)
80a4eb:	ff 15 04 e2 d5 00    	call   *0xd5e204
80a4f1:	83 c4 04             	add    $0x4,%esp
80a4f4:	e9 1f 01 00 00       	jmp    0x80a618
80a4f9:	8b 44 24 10          	mov    0x10(%esp),%eax
80a4fd:	89 44 24 30          	mov    %eax,0x30(%esp)
80a501:	89 44 24 34          	mov    %eax,0x34(%esp)
80a505:	8b 44 24 18          	mov    0x18(%esp),%eax
80a509:	0b 44 24 1c          	or     0x1c(%esp),%eax
80a50d:	74 21                	je     0x80a530
80a50f:	68 04 1e bf 00       	push   $0xbf1e04
80a514:	8d 44 24 1c          	lea    0x1c(%esp),%eax
80a518:	50                   	push   %eax
80a519:	8d 44 24 18          	lea    0x18(%esp),%eax
80a51d:	50                   	push   %eax
80a51e:	e8 8d fa ff ff       	call   0x809fb0
80a523:	8b f0                	mov    %eax,%esi
80a525:	83 c4 0c             	add    $0xc,%esp
80a528:	85 f6                	test   %esi,%esi
80a52a:	0f 85 ca 00 00 00    	jne    0x80a5fa
80a530:	ff 74 24 24          	push   0x24(%esp)
80a534:	8d 44 24 1c          	lea    0x1c(%esp),%eax
80a538:	68 54 52 c3 00       	push   $0xc35254
80a53d:	50                   	push   %eax
80a53e:	8d 44 24 1c          	lea    0x1c(%esp),%eax
80a542:	50                   	push   %eax
80a543:	e8 68 fa ff ff       	call   0x809fb0
80a548:	8b f0                	mov    %eax,%esi
80a54a:	83 c4 10             	add    $0x10,%esp
80a54d:	85 f6                	test   %esi,%esi
80a54f:	0f 85 a5 00 00 00    	jne    0x80a5fa
80a555:	68 5c 52 c3 00       	push   $0xc3525c
80a55a:	8d 44 24 1c          	lea    0x1c(%esp),%eax
80a55e:	50                   	push   %eax
80a55f:	8d 44 24 18          	lea    0x18(%esp),%eax
80a563:	50                   	push   %eax
80a564:	e8 47 fa ff ff       	call   0x809fb0
80a569:	8b f0                	mov    %eax,%esi
80a56b:	83 c4 0c             	add    $0xc,%esp
80a56e:	85 f6                	test   %esi,%esi
80a570:	0f 85 84 00 00 00    	jne    0x80a5fa
80a576:	8d 44 24 18          	lea    0x18(%esp),%eax
80a57a:	50                   	push   %eax
80a57b:	8b 43 08             	mov    0x8(%ebx),%eax
80a57e:	99                   	cltd
80a57f:	52                   	push   %edx
80a580:	50                   	push   %eax
80a581:	ff 73 04             	push   0x4(%ebx)
80a584:	8d 44 24 20          	lea    0x20(%esp),%eax
80a588:	56                   	push   %esi
80a589:	50                   	push   %eax
80a58a:	e8 c1 f7 ff ff       	call   0x809d50
80a58f:	8b f0                	mov    %eax,%esi
80a591:	83 c4 18             	add    $0x18,%esp
80a594:	85 f6                	test   %esi,%esi
80a596:	75 62                	jne    0x80a5fa
80a598:	68 34 50 bd 00       	push   $0xbd5034
80a59d:	8d 44 24 1c          	lea    0x1c(%esp),%eax
80a5a1:	50                   	push   %eax
80a5a2:	8d 44 24 18          	lea    0x18(%esp),%eax
80a5a6:	50                   	push   %eax
80a5a7:	e8 04 fa ff ff       	call   0x809fb0
80a5ac:	8b f0                	mov    %eax,%esi
80a5ae:	83 c4 0c             	add    $0xc,%esp
80a5b1:	85 f6                	test   %esi,%esi
80a5b3:	75 45                	jne    0x80a5fa
80a5b5:	39 43 24             	cmp    %eax,0x24(%ebx)
80a5b8:	74 79                	je     0x80a633
80a5ba:	55                   	push   %ebp
80a5bb:	ff 15 04 e2 d5 00    	call   *0xd5e204
80a5c1:	57                   	push   %edi
80a5c2:	e8 99 0f 00 00       	call   0x80b560
80a5c7:	8b f8                	mov    %eax,%edi
80a5c9:	83 c4 08             	add    $0x8,%esp
80a5cc:	89 7c 24 14          	mov    %edi,0x14(%esp)
80a5d0:	85 ff                	test   %edi,%edi
80a5d2:	0f 84 8b 03 00 00    	je     0x80a963
80a5d8:	57                   	push   %edi
80a5d9:	68 8c 52 c3 00       	push   $0xc3528c
80a5de:	8d 44 24 20          	lea    0x20(%esp),%eax
80a5e2:	50                   	push   %eax
80a5e3:	8d 44 24 1c          	lea    0x1c(%esp),%eax
80a5e7:	50                   	push   %eax
80a5e8:	e8 c3 f9 ff ff       	call   0x809fb0
80a5ed:	8b f0                	mov    %eax,%esi
80a5ef:	83 c4 10             	add    $0x10,%esp
80a5f2:	85 f6                	test   %esi,%esi
80a5f4:	74 41                	je     0x80a637
80a5f6:	8b 6c 24 14          	mov    0x14(%esp),%ebp
80a5fa:	8d 44 24 34          	lea    0x34(%esp),%eax
80a5fe:	50                   	push   %eax
80a5ff:	e8 e2 e7 bf ff       	call   0x408de6
80a604:	55                   	push   %ebp
80a605:	ff 15 04 e2 d5 00    	call   *0xd5e204
80a60b:	ff 74 24 2c          	push   0x2c(%esp)
80a60f:	ff 15 04 e2 d5 00    	call   *0xd5e204
80a615:	83 c4 0c             	add    $0xc,%esp
80a618:	8b c6                	mov    %esi,%eax
80a61a:	8b 8c 24 38 02 00 00 	mov    0x238(%esp),%ecx
80a621:	5f                   	pop    %edi
80a622:	5e                   	pop    %esi
80a623:	5d                   	pop    %ebp
80a624:	5b                   	pop    %ebx
80a625:	33 cc                	xor    %esp,%ecx
80a627:	e8 8a 11 c1 ff       	call   0x41b7b6
80a62c:	81 c4 2c 02 00 00    	add    $0x22c,%esp
80a632:	c3                   	ret
80a633:	8b 7c 24 14          	mov    0x14(%esp),%edi
80a637:	8b eb                	mov    %ebx,%ebp
80a639:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
80a640:	83 7b 24 00          	cmpl   $0x0,0x24(%ebx)
80a644:	74 2b                	je     0x80a671
80a646:	57                   	push   %edi
80a647:	68 c4 52 c3 00       	push   $0xc352c4
80a64c:	8d 44 24 20          	lea    0x20(%esp),%eax
80a650:	50                   	push   %eax
80a651:	8d 44 24 1c          	lea    0x1c(%esp),%eax
80a655:	50                   	push   %eax
80a656:	e8 55 f9 ff ff       	call   0x809fb0
80a65b:	8b f0                	mov    %eax,%esi
80a65d:	83 c4 10             	add    $0x10,%esp
80a660:	85 f6                	test   %esi,%esi
80a662:	75 92                	jne    0x80a5f6
80a664:	8d 44 24 18          	lea    0x18(%esp),%eax
80a668:	50                   	push   %eax
80a669:	8d 44 24 14          	lea    0x14(%esp),%eax
80a66d:	50                   	push   %eax
80a66e:	55                   	push   %ebp
80a66f:	eb 1c                	jmp    0x80a68d
80a671:	8b 43 28             	mov    0x28(%ebx),%eax
80a674:	a8 51                	test   $0x51,%al
80a676:	74 27                	je     0x80a69f
80a678:	83 7b 2c 00          	cmpl   $0x0,0x2c(%ebx)
80a67c:	75 04                	jne    0x80a682
80a67e:	a8 01                	test   $0x1,%al
80a680:	74 15                	je     0x80a697
80a682:	8d 44 24 18          	lea    0x18(%esp),%eax
80a686:	50                   	push   %eax
80a687:	8d 44 24 14          	lea    0x14(%esp),%eax
80a68b:	50                   	push   %eax
80a68c:	53                   	push   %ebx
80a68d:	e8 0e 0f 00 00       	call   0x80b5a0
80a692:	8b f0                	mov    %eax,%esi
80a694:	83 c4 0c             	add    $0xc,%esp
80a697:	85 f6                	test   %esi,%esi
80a699:	0f 85 57 ff ff ff    	jne    0x80a5f6
80a69f:	8b 45 1c             	mov    0x1c(%ebp),%eax
80a6a2:	85 c0                	test   %eax,%eax
80a6a4:	74 22                	je     0x80a6c8
80a6a6:	50                   	push   %eax
80a6a7:	68 f4 52 c3 00       	push   $0xc352f4
80a6ac:	8d 44 24 20          	lea    0x20(%esp),%eax
80a6b0:	50                   	push   %eax
80a6b1:	8d 44 24 1c          	lea    0x1c(%esp),%eax
80a6b5:	50                   	push   %eax
80a6b6:	e8 f5 f8 ff ff       	call   0x809fb0
80a6bb:	8b f0                	mov    %eax,%esi
80a6bd:	83 c4 10             	add    $0x10,%esp
80a6c0:	85 f6                	test   %esi,%esi
80a6c2:	0f 85 2e ff ff ff    	jne    0x80a5f6
80a6c8:	8b 7d 20             	mov    0x20(%ebp),%edi
80a6cb:	85 ff                	test   %edi,%edi
80a6cd:	74 2d                	je     0x80a6fc
80a6cf:	90                   	nop
80a6d0:	ff 37                	push   (%edi)
80a6d2:	8d 44 24 1c          	lea    0x1c(%esp),%eax
80a6d6:	68 0c 53 c3 00       	push   $0xc3530c
80a6db:	50                   	push   %eax
80a6dc:	8d 44 24 1c          	lea    0x1c(%esp),%eax
80a6e0:	50                   	push   %eax
80a6e1:	e8 ca f8 ff ff       	call   0x809fb0
80a6e6:	8b f0                	mov    %eax,%esi
80a6e8:	83 c4 10             	add    $0x10,%esp
80a6eb:	85 f6                	test   %esi,%esi
80a6ed:	0f 85 03 ff ff ff    	jne    0x80a5f6
80a6f3:	8b 7f 04             	mov    0x4(%edi),%edi
80a6f6:	85 ff                	test   %edi,%edi
80a6f8:	75 d6                	jne    0x80a6d0
80a6fa:	eb 08                	jmp    0x80a704
80a6fc:	85 f6                	test   %esi,%esi
80a6fe:	0f 85 f2 fe ff ff    	jne    0x80a5f6
80a704:	68 14 53 c3 00       	push   $0xc35314
80a709:	8d 44 24 1c          	lea    0x1c(%esp),%eax
80a70d:	50                   	push   %eax
80a70e:	8d 44 24 18          	lea    0x18(%esp),%eax
80a712:	50                   	push   %eax
80a713:	e8 98 f8 ff ff       	call   0x809fb0
80a718:	8b f0                	mov    %eax,%esi
80a71a:	83 c4 0c             	add    $0xc,%esp
80a71d:	85 f6                	test   %esi,%esi
80a71f:	0f 85 d1 fe ff ff    	jne    0x80a5f6
80a725:	8b 43 28             	mov    0x28(%ebx),%eax
80a728:	a8 03                	test   $0x3,%al
80a72a:	0f 85 9a 00 00 00    	jne    0x80a7ca
80a730:	a8 10                	test   $0x10,%al
80a732:	74 3f                	je     0x80a773
80a734:	8d 44 24 18          	lea    0x18(%esp),%eax
80a738:	50                   	push   %eax
80a739:	8b 43 18             	mov    0x18(%ebx),%eax
80a73c:	99                   	cltd
80a73d:	52                   	push   %edx
80a73e:	50                   	push   %eax
80a73f:	ff 73 14             	push   0x14(%ebx)
80a742:	6a 01                	push   $0x1
80a744:	8d 44 24 24          	lea    0x24(%esp),%eax
80a748:	50                   	push   %eax
80a749:	e8 02 f6 ff ff       	call   0x809d50
80a74e:	83 c4 18             	add    $0x18,%esp
80a751:	8b f0                	mov    %eax,%esi
80a753:	8b 7c 24 20          	mov    0x20(%esp),%edi
80a757:	8b 6d 24             	mov    0x24(%ebp),%ebp
80a75a:	85 ed                	test   %ebp,%ebp
80a75c:	0f 84 63 01 00 00    	je     0x80a8c5
80a762:	85 f6                	test   %esi,%esi
80a764:	0f 85 8c fe ff ff    	jne    0x80a5f6
80a76a:	8b 7c 24 14          	mov    0x14(%esp),%edi
80a76e:	e9 cd fe ff ff       	jmp    0x80a640
80a773:	a8 40                	test   $0x40,%al
80a775:	74 2a                	je     0x80a7a1
80a777:	84 c0                	test   %al,%al
80a779:	79 14                	jns    0x80a78f
80a77b:	8b 53 3c             	mov    0x3c(%ebx),%edx
80a77e:	8d 4c 24 18          	lea    0x18(%esp),%ecx
80a782:	8b 43 38             	mov    0x38(%ebx),%eax
80a785:	51                   	push   %ecx
80a786:	52                   	push   %edx
80a787:	50                   	push   %eax
80a788:	ff 73 30             	push   0x30(%ebx)
80a78b:	6a 02                	push   $0x2
80a78d:	eb b5                	jmp    0x80a744
80a78f:	8b 43 10             	mov    0x10(%ebx),%eax
80a792:	8d 4c 24 18          	lea    0x18(%esp),%ecx
80a796:	51                   	push   %ecx
80a797:	99                   	cltd
80a798:	52                   	push   %edx
80a799:	50                   	push   %eax
80a79a:	ff 73 30             	push   0x30(%ebx)
80a79d:	6a 02                	push   $0x2
80a79f:	eb a3                	jmp    0x80a744