58a4f2:	83 e0 fe             	and    $0xfffffffe,%eax
58a4f5:	89 46 14             	mov    %eax,0x14(%esi)
58a4f8:	e8 a3 af 00 00       	call   0x5954a0
58a4fd:	83 c4 14             	add    $0x14,%esp
58a500:	85 c0                	test   %eax,%eax
58a502:	75 3b                	jne    0x58a53f
58a504:	68 44 04 00 00       	push   $0x444
58a509:	68 a4 43 6c 00       	push   $0x6c43a4
58a50e:	6a 10                	push   $0x10
58a510:	eb 4c                	jmp    0x58a55e
58a512:	6a 00                	push   $0x0
58a514:	6a 00                	push   $0x0
58a516:	6a 00                	push   $0x0
58a518:	ff 76 0c             	push   0xc(%esi)
58a51b:	51                   	push   %ecx
58a51c:	ff 76 04             	push   0x4(%esi)
58a51f:	e8 4c 1d ff ff       	call   0x57c270
58a524:	83 c4 18             	add    $0x18,%esp
58a527:	85 c0                	test   %eax,%eax
58a529:	75 0e                	jne    0x58a539
58a52b:	68 4a 04 00 00       	push   $0x44a
58a530:	68 a4 43 6c 00       	push   $0x6c43a4
58a535:	6a 10                	push   $0x10
58a537:	eb 25                	jmp    0x58a55e
58a539:	83 4e 10 02          	orl    $0x2,0x10(%esi)
58a53d:	eb 04                	jmp    0x58a543
58a53f:	8b 6c 24 1c          	mov    0x1c(%esp),%ebp
58a543:	85 ff                	test   %edi,%edi
58a545:	74 02                	je     0x58a549
58a547:	89 37                	mov    %esi,(%edi)
58a549:	8b 44 24 10          	mov    0x10(%esp),%eax
58a54d:	89 45 00             	mov    %eax,0x0(%ebp)
58a550:	eb 2e                	jmp    0x58a580
58a552:	68 27 04 00 00       	push   $0x427
58a557:	68 a4 43 6c 00       	push   $0x6c43a4
58a55c:	6a 7d                	push   $0x7d
58a55e:	68 92 00 00 00       	push   $0x92
58a563:	6a 10                	push   $0x10
58a565:	e8 36 6f f1 ff       	call   0x4a14a0
58a56a:	83 c4 14             	add    $0x14,%esp
58a56d:	85 ff                	test   %edi,%edi
58a56f:	74 04                	je     0x58a575
58a571:	39 37                	cmp    %esi,(%edi)
58a573:	74 09                	je     0x58a57e
58a575:	56                   	push   %esi
58a576:	e8 95 1e fe ff       	call   0x56c410
58a57b:	83 c4 04             	add    $0x4,%esp
58a57e:	33 f6                	xor    %esi,%esi
58a580:	68 30 42 6c 00       	push   $0x6c4230
58a585:	53                   	push   %ebx
58a586:	e8 05 79 f2 ff       	call   0x4b1e90
58a58b:	83 c4 08             	add    $0x8,%esp
58a58e:	8b c6                	mov    %esi,%eax
58a590:	5f                   	pop    %edi
58a591:	5e                   	pop    %esi
58a592:	5d                   	pop    %ebp
58a593:	5b                   	pop    %ebx
58a594:	59                   	pop    %ecx
58a595:	c3                   	ret
58a596:	cc                   	int3
58a597:	cc                   	int3
58a598:	cc                   	int3
58a599:	cc                   	int3
58a59a:	cc                   	int3
58a59b:	cc                   	int3
58a59c:	cc                   	int3
58a59d:	cc                   	int3
58a59e:	cc                   	int3
58a59f:	cc                   	int3
58a5a0:	b8 1c 00 00 00       	mov    $0x1c,%eax
58a5a5:	e8 46 6f 05 00       	call   0x5e14f0
58a5aa:	53                   	push   %ebx
58a5ab:	8b 5c 24 24          	mov    0x24(%esp),%ebx
58a5af:	33 c0                	xor    %eax,%eax
58a5b1:	56                   	push   %esi
58a5b2:	57                   	push   %edi
58a5b3:	33 ff                	xor    %edi,%edi
58a5b5:	c7 44 24 24 00 00 00 	movl   $0x0,0x24(%esp)
58a5bc:	00
58a5bd:	89 44 24 10          	mov    %eax,0x10(%esp)
58a5c1:	89 44 24 14          	mov    %eax,0x14(%esp)
58a5c5:	88 44 24 0f          	mov    %al,0xf(%esp)
58a5c9:	85 db                	test   %ebx,%ebx
58a5cb:	0f 84 ba 02 00 00    	je     0x58a88b
58a5d1:	8b 74 24 30          	mov    0x30(%esp),%esi
58a5d5:	85 f6                	test   %esi,%esi
58a5d7:	0f 84 ae 02 00 00    	je     0x58a88b
58a5dd:	39 06                	cmp    %eax,(%esi)
58a5df:	0f 84 a6 02 00 00    	je     0x58a88b
58a5e5:	39 46 04             	cmp    %eax,0x4(%esi)
58a5e8:	0f 84 9d 02 00 00    	je     0x58a88b
58a5ee:	55                   	push   %ebp
58a5ef:	e8 1c 8d f2 ff       	call   0x4b3310
58a5f4:	8b e8                	mov    %eax,%ebp
58a5f6:	85 ed                	test   %ebp,%ebp
58a5f8:	0f 84 4c 02 00 00    	je     0x58a84a
58a5fe:	e8 0d 8d f2 ff       	call   0x4b3310
58a603:	8b f8                	mov    %eax,%edi
58a605:	85 ff                	test   %edi,%edi
58a607:	0f 84 3d 02 00 00    	je     0x58a84a
58a60d:	53                   	push   %ebx
58a60e:	e8 0d 6a f0 ff       	call   0x491020
58a613:	50                   	push   %eax
58a614:	e8 c7 6e f0 ff       	call   0x4914e0
58a619:	83 c4 08             	add    $0x8,%esp
58a61c:	6a 00                	push   $0x0
58a61e:	57                   	push   %edi
58a61f:	55                   	push   %ebp
58a620:	6a 00                	push   $0x0
58a622:	53                   	push   %ebx
58a623:	3d 96 01 00 00       	cmp    $0x196,%eax
58a628:	75 1d                	jne    0x58a647
58a62a:	e8 61 13 ff ff       	call   0x57b990
58a62f:	83 c4 14             	add    $0x14,%esp
58a632:	85 c0                	test   %eax,%eax
58a634:	75 2e                	jne    0x58a664
58a636:	68 ca 01 00 00       	push   $0x1ca
58a63b:	68 a4 43 6c 00       	push   $0x6c43a4
58a640:	6a 10                	push   $0x10
58a642:	e9 0f 02 00 00       	jmp    0x58a856
58a647:	e8 04 13 ff ff       	call   0x57b950
58a64c:	83 c4 14             	add    $0x14,%esp
58a64f:	85 c0                	test   %eax,%eax
58a651:	75 11                	jne    0x58a664
58a653:	68 d2 01 00 00       	push   $0x1d2
58a658:	68 a4 43 6c 00       	push   $0x6c43a4
58a65d:	6a 10                	push   $0x10
58a65f:	e9 f2 01 00 00       	jmp    0x58a856
58a664:	55                   	push   %ebp
58a665:	e8 06 8d f2 ff       	call   0x4b3370
58a66a:	83 c0 07             	add    $0x7,%eax
58a66d:	99                   	cltd
58a66e:	83 e2 07             	and    $0x7,%edx
58a671:	03 c2                	add    %edx,%eax
58a673:	c1 f8 03             	sar    $0x3,%eax
58a676:	57                   	push   %edi
58a677:	89 44 24 38          	mov    %eax,0x38(%esp)
58a67b:	e8 f0 8c f2 ff       	call   0x4b3370
58a680:	83 c0 07             	add    $0x7,%eax
58a683:	83 c4 08             	add    $0x8,%esp
58a686:	99                   	cltd
58a687:	83 e2 07             	and    $0x7,%edx
58a68a:	8d 0c 02             	lea    (%edx,%eax,1),%ecx
58a68d:	8b 44 24 30          	mov    0x30(%esp),%eax
58a691:	c1 f9 03             	sar    $0x3,%ecx
58a694:	89 4c 24 24          	mov    %ecx,0x24(%esp)
58a698:	85 c0                	test   %eax,%eax
58a69a:	75 0e                	jne    0x58a6aa
58a69c:	8d 44 24 13          	lea    0x13(%esp),%eax
58a6a0:	c7 44 24 30 01 00 00 	movl   $0x1,0x30(%esp)
58a6a7:	00
58a6a8:	eb 52                	jmp    0x58a6fc
58a6aa:	68 df 01 00 00       	push   $0x1df
58a6af:	68 a4 43 6c 00       	push   $0x6c43a4
58a6b4:	50                   	push   %eax
58a6b5:	e8 f6 5a f1 ff       	call   0x4a01b0
58a6ba:	83 c4 0c             	add    $0xc,%esp
58a6bd:	89 44 24 14          	mov    %eax,0x14(%esp)
58a6c1:	85 c0                	test   %eax,%eax
58a6c3:	75 0a                	jne    0x58a6cf
58a6c5:	68 e0 01 00 00       	push   $0x1e0
58a6ca:	e9 80 01 00 00       	jmp    0x58a84f
58a6cf:	50                   	push   %eax
58a6d0:	55                   	push   %ebp
58a6d1:	e8 3a 86 f2 ff       	call   0x4b2d10
58a6d6:	8b c8                	mov    %eax,%ecx
58a6d8:	83 c4 08             	add    $0x8,%esp
58a6db:	89 4c 24 30          	mov    %ecx,0x30(%esp)
58a6df:	85 c9                	test   %ecx,%ecx
58a6e1:	75 11                	jne    0x58a6f4
58a6e3:	68 e4 01 00 00       	push   $0x1e4
58a6e8:	68 a4 43 6c 00       	push   $0x6c43a4
58a6ed:	6a 03                	push   $0x3
58a6ef:	e9 23 01 00 00       	jmp    0x58a817
58a6f4:	8b 44 24 14          	mov    0x14(%esp),%eax
58a6f8:	8b 4c 24 24          	mov    0x24(%esp),%ecx
58a6fc:	89 44 24 1c          	mov    %eax,0x1c(%esp)
58a700:	85 c9                	test   %ecx,%ecx
58a702:	75 0e                	jne    0x58a712
58a704:	8d 44 24 13          	lea    0x13(%esp),%eax
58a708:	c7 44 24 20 01 00 00 	movl   $0x1,0x20(%esp)
58a70f:	00
58a710:	eb 53                	jmp    0x58a765
58a712:	68 ef 01 00 00       	push   $0x1ef
58a717:	68 a4 43 6c 00       	push   $0x6c43a4
58a71c:	51                   	push   %ecx
58a71d:	e8 8e 5a f1 ff       	call   0x4a01b0
58a722:	83 c4 0c             	add    $0xc,%esp
58a725:	89 44 24 18          	mov    %eax,0x18(%esp)
58a729:	85 c0                	test   %eax,%eax
58a72b:	75 11                	jne    0x58a73e
58a72d:	68 f0 01 00 00       	push   $0x1f0
58a732:	68 a4 43 6c 00       	push   $0x6c43a4
58a737:	6a 41                	push   $0x41
58a739:	e9 d9 00 00 00       	jmp    0x58a817
58a73e:	50                   	push   %eax
58a73f:	57                   	push   %edi
58a740:	e8 cb 85 f2 ff       	call   0x4b2d10
58a745:	83 c4 08             	add    $0x8,%esp
58a748:	89 44 24 20          	mov    %eax,0x20(%esp)
58a74c:	85 c0                	test   %eax,%eax
58a74e:	75 11                	jne    0x58a761
58a750:	68 f4 01 00 00       	push   $0x1f4
58a755:	68 a4 43 6c 00       	push   $0x6c43a4
58a75a:	6a 03                	push   $0x3
58a75c:	e9 b6 00 00 00       	jmp    0x58a817
58a761:	8b 44 24 18          	mov    0x18(%esp),%eax
58a765:	ff 74 24 30          	push   0x30(%esp)
58a769:	89 44 24 28          	mov    %eax,0x28(%esp)
58a76d:	ff 74 24 20          	push   0x20(%esp)
58a771:	ff 36                	push   (%esi)
58a773:	e8 98 72 f2 ff       	call   0x4b1a10
58a778:	83 c4 0c             	add    $0xc,%esp
58a77b:	85 c0                	test   %eax,%eax
58a77d:	0f 84 88 00 00 00    	je     0x58a80b
58a783:	ff 74 24 20          	push   0x20(%esp)
58a787:	ff 74 24 28          	push   0x28(%esp)
58a78b:	ff 76 04             	push   0x4(%esi)
58a78e:	e8 7d 72 f2 ff       	call   0x4b1a10
58a793:	83 c4 0c             	add    $0xc,%esp
58a796:	85 c0                	test   %eax,%eax
58a798:	74 71                	je     0x58a80b
58a79a:	83 7b 3c 00          	cmpl   $0x0,0x3c(%ebx)
58a79e:	74 4a                	je     0x58a7ea
58a7a0:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
58a7a4:	75 1a                	jne    0x58a7c0
58a7a6:	e8 85 93 f2 ff       	call   0x4b3b30
58a7ab:	89 46 08             	mov    %eax,0x8(%esi)
58a7ae:	85 c0                	test   %eax,%eax
58a7b0:	75 0e                	jne    0x58a7c0
58a7b2:	68 05 02 00 00       	push   $0x205
58a7b7:	68 a4 43 6c 00       	push   $0x6c43a4
58a7bc:	6a 41                	push   $0x41
58a7be:	eb 57                	jmp    0x58a817
58a7c0:	8b 46 08             	mov    0x8(%esi),%eax
58a7c3:	83 60 0c f0          	andl   $0xfffffff0,0xc(%eax)
58a7c7:	8b 46 08             	mov    0x8(%esi),%eax
58a7ca:	83 48 0c 08          	orl    $0x8,0xc(%eax)
58a7ce:	ff 73 40             	push   0x40(%ebx)
58a7d1:	ff 73 3c             	push   0x3c(%ebx)
58a7d4:	ff 76 08             	push   0x8(%esi)
58a7d7:	e8 c4 27 f5 ff       	call   0x4dcfa0
58a7dc:	83 c4 0c             	add    $0xc,%esp
58a7df:	85 c0                	test   %eax,%eax
58a7e1:	75 1e                	jne    0x58a801
58a7e3:	68 0c 02 00 00       	push   $0x20c
58a7e8:	eb 26                	jmp    0x58a810
58a7ea:	8b 46 08             	mov    0x8(%esi),%eax
58a7ed:	85 c0                	test   %eax,%eax
58a7ef:	74 10                	je     0x58a801
58a7f1:	50                   	push   %eax
58a7f2:	e8 09 93 f2 ff       	call   0x4b3b00
58a7f7:	83 c4 04             	add    $0x4,%esp
58a7fa:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
58a801:	c7 44 24 28 01 00 00 	movl   $0x1,0x28(%esp)
58a808:	00
58a809:	eb 1b                	jmp    0x58a826
58a80b:	68 fd 01 00 00       	push   $0x1fd
58a810:	68 a4 43 6c 00       	push   $0x6c43a4
58a815:	6a 0d                	push   $0xd
58a817:	68 99 00 00 00       	push   $0x99
58a81c:	6a 10                	push   $0x10
58a81e:	e8 7d 6c f1 ff       	call   0x4a14a0
58a823:	83 c4 14             	add    $0x14,%esp
58a826:	8b 44 24 14          	mov    0x14(%esp),%eax
58a82a:	85 c0                	test   %eax,%eax
58a82c:	74 09                	je     0x58a837
58a82e:	50                   	push   %eax
58a82f:	e8 fc 58 f1 ff       	call   0x4a0130
58a834:	83 c4 04             	add    $0x4,%esp
58a837:	8b 44 24 18          	mov    0x18(%esp),%eax
58a83b:	85 c0                	test   %eax,%eax
58a83d:	74 26                	je     0x58a865
58a83f:	50                   	push   %eax
58a840:	e8 eb 58 f1 ff       	call   0x4a0130
58a845:	83 c4 04             	add    $0x4,%esp
58a848:	eb 1b                	jmp    0x58a865
58a84a:	68 c1 01 00 00       	push   $0x1c1
58a84f:	68 a4 43 6c 00       	push   $0x6c43a4
58a854:	6a 41                	push   $0x41
58a856:	68 99 00 00 00       	push   $0x99
58a85b:	6a 10                	push   $0x10
58a85d:	e8 3e 6c f1 ff       	call   0x4a14a0
58a862:	83 c4 14             	add    $0x14,%esp
58a865:	85 ed                	test   %ebp,%ebp
58a867:	74 09                	je     0x58a872
58a869:	55                   	push   %ebp
58a86a:	e8 71 89 f2 ff       	call   0x4b31e0
58a86f:	83 c4 04             	add    $0x4,%esp
58a872:	5d                   	pop    %ebp
58a873:	85 ff                	test   %edi,%edi
58a875:	74 09                	je     0x58a880
58a877:	57                   	push   %edi
58a878:	e8 63 89 f2 ff       	call   0x4b31e0
58a87d:	83 c4 04             	add    $0x4,%esp
58a880:	8b 44 24 24          	mov    0x24(%esp),%eax
58a884:	5f                   	pop    %edi
58a885:	5e                   	pop    %esi
58a886:	5b                   	pop    %ebx
58a887:	83 c4 1c             	add    $0x1c,%esp
58a88a:	c3                   	ret
58a88b:	5f                   	pop    %edi
58a88c:	5e                   	pop    %esi
58a88d:	33 c0                	xor    %eax,%eax
58a88f:	5b                   	pop    %ebx
58a890:	83 c4 1c             	add    $0x1c,%esp
58a893:	c3                   	ret
58a894:	cc                   	int3
58a895:	cc                   	int3
58a896:	cc                   	int3
58a897:	cc                   	int3
58a898:	cc                   	int3
58a899:	cc                   	int3
58a89a:	cc                   	int3
58a89b:	cc                   	int3
58a89c:	cc                   	int3
58a89d:	cc                   	int3
58a89e:	cc                   	int3
58a89f:	cc                   	int3
58a8a0:	b8 08 00 00 00       	mov    $0x8,%eax
58a8a5:	e8 46 6c 05 00       	call   0x5e14f0
58a8aa:	53                   	push   %ebx
58a8ab:	8b 5c 24 10          	mov    0x10(%esp),%ebx
58a8af:	55                   	push   %ebp
58a8b0:	57                   	push   %edi
58a8b1:	33 ff                	xor    %edi,%edi
58a8b3:	85 db                	test   %ebx,%ebx
58a8b5:	0f 84 48 02 00 00    	je     0x58ab03
58a8bb:	8b 6c 24 1c          	mov    0x1c(%esp),%ebp
58a8bf:	85 ed                	test   %ebp,%ebp
58a8c1:	0f 84 3c 02 00 00    	je     0x58ab03
58a8c7:	8b 45 00             	mov    0x0(%ebp),%eax
58a8ca:	85 c0                	test   %eax,%eax
58a8cc:	74 09                	je     0x58a8d7
58a8ce:	50                   	push   %eax
58a8cf:	e8 2c c5 f1 ff       	call   0x4a6e00
58a8d4:	83 c4 04             	add    $0x4,%esp
58a8d7:	8b 45 04             	mov    0x4(%ebp),%eax
58a8da:	85 c0                	test   %eax,%eax
58a8dc:	74 09                	je     0x58a8e7
58a8de:	50                   	push   %eax
58a8df:	e8 dc 93 f2 ff       	call   0x4b3cc0
58a8e4:	83 c4 04             	add    $0x4,%esp
58a8e7:	56                   	push   %esi
58a8e8:	53                   	push   %ebx
58a8e9:	e8 32 67 f0 ff       	call   0x491020
58a8ee:	50                   	push   %eax
58a8ef:	e8 ec 6b f0 ff       	call   0x4914e0
58a8f4:	8b f0                	mov    %eax,%esi
58a8f6:	56                   	push   %esi