59c4b5:	8b 7c 24 30          	mov    0x30(%esp),%edi
59c4b9:	85 ff                	test   %edi,%edi
59c4bb:	75 18                	jne    0x59c4d5
59c4bd:	e8 5e b9 f3 ff       	call   0x4d7e20
59c4c2:	8b e8                	mov    %eax,%ebp
59c4c4:	8b fd                	mov    %ebp,%edi
59c4c6:	85 ed                	test   %ebp,%ebp
59c4c8:	75 0b                	jne    0x59c4d5
59c4ca:	5f                   	pop    %edi
59c4cb:	5e                   	pop    %esi
59c4cc:	5d                   	pop    %ebp
59c4cd:	83 c8 ff             	or     $0xffffffff,%eax
59c4d0:	5b                   	pop    %ebx
59c4d1:	83 c4 14             	add    $0x14,%esp
59c4d4:	c3                   	ret
59c4d5:	57                   	push   %edi
59c4d6:	e8 c5 b9 f3 ff       	call   0x4d7ea0
59c4db:	57                   	push   %edi
59c4dc:	e8 df b8 f3 ff       	call   0x4d7dc0
59c4e1:	57                   	push   %edi
59c4e2:	89 44 24 24          	mov    %eax,0x24(%esp)
59c4e6:	e8 d5 b8 f3 ff       	call   0x4d7dc0
59c4eb:	8b f0                	mov    %eax,%esi
59c4ed:	83 c4 0c             	add    $0xc,%esp
59c4f0:	85 f6                	test   %esi,%esi
59c4f2:	0f 84 a7 00 00 00    	je     0x59c59f
59c4f8:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
59c4fc:	8d 43 74             	lea    0x74(%ebx),%eax
59c4ff:	83 c1 04             	add    $0x4,%ecx
59c502:	50                   	push   %eax
59c503:	51                   	push   %ecx
59c504:	56                   	push   %esi
59c505:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
59c509:	e8 f2 db 00 00       	call   0x5aa100
59c50e:	83 c4 0c             	add    $0xc,%esp
59c511:	85 c0                	test   %eax,%eax
59c513:	0f 84 86 00 00 00    	je     0x59c59f
59c519:	57                   	push   %edi
59c51a:	ff 74 24 14          	push   0x14(%esp)
59c51e:	56                   	push   %esi
59c51f:	56                   	push   %esi
59c520:	53                   	push   %ebx
59c521:	ff 54 24 28          	call   *0x28(%esp)
59c525:	83 c4 14             	add    $0x14,%esp
59c528:	85 c0                	test   %eax,%eax
59c52a:	74 73                	je     0x59c59f
59c52c:	8b 44 24 2c          	mov    0x2c(%esp),%eax
59c530:	83 c0 18             	add    $0x18,%eax
59c533:	50                   	push   %eax
59c534:	56                   	push   %esi
59c535:	56                   	push   %esi
59c536:	89 44 24 28          	mov    %eax,0x28(%esp)
59c53a:	e8 c1 db 00 00       	call   0x5aa100
59c53f:	83 c4 0c             	add    $0xc,%esp
59c542:	85 c0                	test   %eax,%eax
59c544:	74 59                	je     0x59c59f
59c546:	57                   	push   %edi
59c547:	ff 74 24 14          	push   0x14(%esp)
59c54b:	56                   	push   %esi
59c54c:	56                   	push   %esi
59c54d:	53                   	push   %ebx
59c54e:	ff 54 24 28          	call   *0x28(%esp)
59c552:	83 c4 14             	add    $0x14,%esp
59c555:	85 c0                	test   %eax,%eax
59c557:	74 46                	je     0x59c59f
59c559:	8d 83 88 00 00 00    	lea    0x88(%ebx),%eax
59c55f:	50                   	push   %eax
59c560:	56                   	push   %esi
59c561:	56                   	push   %esi
59c562:	e8 99 db 00 00       	call   0x5aa100
59c567:	83 c4 0c             	add    $0xc,%esp
59c56a:	85 c0                	test   %eax,%eax
59c56c:	74 31                	je     0x59c59f
59c56e:	57                   	push   %edi
59c56f:	ff 74 24 20          	push   0x20(%esp)
59c573:	ff 74 24 20          	push   0x20(%esp)
59c577:	53                   	push   %ebx
59c578:	ff 54 24 30          	call   *0x30(%esp)
59c57c:	83 c4 10             	add    $0x10,%esp
59c57f:	85 c0                	test   %eax,%eax
59c581:	74 1c                	je     0x59c59f
59c583:	ff 74 24 18          	push   0x18(%esp)
59c587:	56                   	push   %esi
59c588:	56                   	push   %esi
59c589:	e8 72 db 00 00       	call   0x5aa100
59c58e:	83 c4 0c             	add    $0xc,%esp
59c591:	85 c0                	test   %eax,%eax
59c593:	74 0a                	je     0x59c59f
59c595:	33 db                	xor    %ebx,%ebx
59c597:	39 5e 04             	cmp    %ebx,0x4(%esi)
59c59a:	0f 94 c3             	sete   %bl
59c59d:	eb 03                	jmp    0x59c5a2
59c59f:	83 cb ff             	or     $0xffffffff,%ebx
59c5a2:	85 ff                	test   %edi,%edi
59c5a4:	74 09                	je     0x59c5af
59c5a6:	57                   	push   %edi
59c5a7:	e8 a4 b7 f3 ff       	call   0x4d7d50
59c5ac:	83 c4 04             	add    $0x4,%esp
59c5af:	85 ed                	test   %ebp,%ebp
59c5b1:	74 09                	je     0x59c5bc
59c5b3:	55                   	push   %ebp
59c5b4:	e8 d7 b7 f3 ff       	call   0x4d7d90
59c5b9:	83 c4 04             	add    $0x4,%esp
59c5bc:	5f                   	pop    %edi
59c5bd:	5e                   	pop    %esi
59c5be:	5d                   	pop    %ebp
59c5bf:	8b c3                	mov    %ebx,%eax
59c5c1:	5b                   	pop    %ebx
59c5c2:	83 c4 14             	add    $0x14,%esp
59c5c5:	c3                   	ret
59c5c6:	cc                   	int3
59c5c7:	cc                   	int3
59c5c8:	cc                   	int3
59c5c9:	cc                   	int3
59c5ca:	cc                   	int3
59c5cb:	cc                   	int3
59c5cc:	cc                   	int3
59c5cd:	cc                   	int3
59c5ce:	cc                   	int3
59c5cf:	cc                   	int3
59c5d0:	b8 10 00 00 00       	mov    $0x10,%eax
59c5d5:	e8 16 4f 04 00       	call   0x5e14f0
59c5da:	53                   	push   %ebx
59c5db:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
59c5df:	56                   	push   %esi
59c5e0:	8b 74 24 1c          	mov    0x1c(%esp),%esi
59c5e4:	57                   	push   %edi
59c5e5:	53                   	push   %ebx
59c5e6:	56                   	push   %esi
59c5e7:	33 ff                	xor    %edi,%edi
59c5e9:	e8 62 fb fd ff       	call   0x57c150
59c5ee:	83 c4 08             	add    $0x8,%esp
59c5f1:	85 c0                	test   %eax,%eax
59c5f3:	74 19                	je     0x59c60e
59c5f5:	ff 74 24 28          	push   0x28(%esp)
59c5f9:	56                   	push   %esi
59c5fa:	e8 51 fb fd ff       	call   0x57c150
59c5ff:	83 c4 08             	add    $0x8,%esp
59c602:	f7 d8                	neg    %eax
59c604:	1b c0                	sbb    %eax,%eax
59c606:	40                   	inc    %eax
59c607:	5f                   	pop    %edi
59c608:	5e                   	pop    %esi
59c609:	5b                   	pop    %ebx
59c60a:	83 c4 10             	add    $0x10,%esp
59c60d:	c3                   	ret
59c60e:	55                   	push   %ebp
59c60f:	8b 6c 24 2c          	mov    0x2c(%esp),%ebp
59c613:	55                   	push   %ebp
59c614:	56                   	push   %esi
59c615:	e8 36 fb fd ff       	call   0x57c150
59c61a:	83 c4 08             	add    $0x8,%esp
59c61d:	85 c0                	test   %eax,%eax
59c61f:	75 3a                	jne    0x59c65b
59c621:	39 7b 40             	cmp    %edi,0x40(%ebx)
59c624:	74 42                	je     0x59c668
59c626:	39 7d 40             	cmp    %edi,0x40(%ebp)
59c629:	74 3d                	je     0x59c668
59c62b:	8d 45 04             	lea    0x4(%ebp),%eax
59c62e:	50                   	push   %eax
59c62f:	8d 43 04             	lea    0x4(%ebx),%eax
59c632:	50                   	push   %eax
59c633:	e8 88 67 f1 ff       	call   0x4b2dc0
59c638:	83 c4 08             	add    $0x8,%esp
59c63b:	85 c0                	test   %eax,%eax
59c63d:	75 1c                	jne    0x59c65b
59c63f:	8d 45 18             	lea    0x18(%ebp),%eax
59c642:	50                   	push   %eax
59c643:	8d 43 18             	lea    0x18(%ebx),%eax
59c646:	50                   	push   %eax
59c647:	e8 74 67 f1 ff       	call   0x4b2dc0
59c64c:	83 c4 08             	add    $0x8,%esp
59c64f:	85 c0                	test   %eax,%eax
59c651:	75 08                	jne    0x59c65b
59c653:	5d                   	pop    %ebp
59c654:	5f                   	pop    %edi
59c655:	5e                   	pop    %esi
59c656:	5b                   	pop    %ebx
59c657:	83 c4 10             	add    $0x10,%esp
59c65a:	c3                   	ret
59c65b:	5d                   	pop    %ebp
59c65c:	5f                   	pop    %edi
59c65d:	5e                   	pop    %esi
59c65e:	b8 01 00 00 00       	mov    $0x1,%eax
59c663:	5b                   	pop    %ebx
59c664:	83 c4 10             	add    $0x10,%esp
59c667:	c3                   	ret
59c668:	8b 74 24 30          	mov    0x30(%esp),%esi
59c66c:	85 f6                	test   %esi,%esi
59c66e:	75 18                	jne    0x59c688
59c670:	e8 ab b7 f3 ff       	call   0x4d7e20
59c675:	8b f8                	mov    %eax,%edi
59c677:	8b f7                	mov    %edi,%esi
59c679:	85 ff                	test   %edi,%edi
59c67b:	75 0b                	jne    0x59c688
59c67d:	5d                   	pop    %ebp
59c67e:	5f                   	pop    %edi
59c67f:	5e                   	pop    %esi
59c680:	83 c8 ff             	or     $0xffffffff,%eax
59c683:	5b                   	pop    %ebx
59c684:	83 c4 10             	add    $0x10,%esp
59c687:	c3                   	ret
59c688:	56                   	push   %esi
59c689:	e8 12 b8 f3 ff       	call   0x4d7ea0
59c68e:	56                   	push   %esi
59c68f:	e8 2c b7 f3 ff       	call   0x4d7dc0
59c694:	56                   	push   %esi
59c695:	89 44 24 20          	mov    %eax,0x20(%esp)
59c699:	e8 22 b7 f3 ff       	call   0x4d7dc0
59c69e:	56                   	push   %esi
59c69f:	89 44 24 2c          	mov    %eax,0x2c(%esp)
59c6a3:	e8 18 b7 f3 ff       	call   0x4d7dc0
59c6a8:	56                   	push   %esi
59c6a9:	89 44 24 24          	mov    %eax,0x24(%esp)
59c6ad:	e8 0e b7 f3 ff       	call   0x4d7dc0
59c6b2:	83 c4 14             	add    $0x14,%esp
59c6b5:	89 44 24 18          	mov    %eax,0x18(%esp)
59c6b9:	85 c0                	test   %eax,%eax
59c6bb:	74 65                	je     0x59c722
59c6bd:	56                   	push   %esi
59c6be:	ff 74 24 20          	push   0x20(%esp)
59c6c2:	ff 74 24 1c          	push   0x1c(%esp)
59c6c6:	53                   	push   %ebx
59c6c7:	8b 5c 24 34          	mov    0x34(%esp),%ebx
59c6cb:	53                   	push   %ebx
59c6cc:	e8 3f f9 fd ff       	call   0x57c010
59c6d1:	83 c4 14             	add    $0x14,%esp
59c6d4:	85 c0                	test   %eax,%eax
59c6d6:	74 4a                	je     0x59c722
59c6d8:	56                   	push   %esi
59c6d9:	ff 74 24 1c          	push   0x1c(%esp)
59c6dd:	ff 74 24 18          	push   0x18(%esp)
59c6e1:	55                   	push   %ebp
59c6e2:	53                   	push   %ebx
59c6e3:	e8 28 f9 fd ff       	call   0x57c010
59c6e8:	83 c4 14             	add    $0x14,%esp
59c6eb:	85 c0                	test   %eax,%eax
59c6ed:	74 33                	je     0x59c722
59c6ef:	ff 74 24 10          	push   0x10(%esp)
59c6f3:	ff 74 24 18          	push   0x18(%esp)
59c6f7:	e8 c4 66 f1 ff       	call   0x4b2dc0
59c6fc:	83 c4 08             	add    $0x8,%esp
59c6ff:	85 c0                	test   %eax,%eax
59c701:	75 18                	jne    0x59c71b
59c703:	ff 74 24 18          	push   0x18(%esp)
59c707:	ff 74 24 20          	push   0x20(%esp)
59c70b:	e8 b0 66 f1 ff       	call   0x4b2dc0
59c710:	83 c4 08             	add    $0x8,%esp
59c713:	85 c0                	test   %eax,%eax
59c715:	75 04                	jne    0x59c71b
59c717:	33 db                	xor    %ebx,%ebx
59c719:	eb 0a                	jmp    0x59c725
59c71b:	bb 01 00 00 00       	mov    $0x1,%ebx
59c720:	eb 03                	jmp    0x59c725
59c722:	83 cb ff             	or     $0xffffffff,%ebx
59c725:	85 f6                	test   %esi,%esi
59c727:	74 09                	je     0x59c732
59c729:	56                   	push   %esi
59c72a:	e8 21 b6 f3 ff       	call   0x4d7d50
59c72f:	83 c4 04             	add    $0x4,%esp
59c732:	85 ff                	test   %edi,%edi
59c734:	74 09                	je     0x59c73f
59c736:	57                   	push   %edi
59c737:	e8 54 b6 f3 ff       	call   0x4d7d90
59c73c:	83 c4 04             	add    $0x4,%esp
59c73f:	5d                   	pop    %ebp
59c740:	5f                   	pop    %edi
59c741:	5e                   	pop    %esi
59c742:	8b c3                	mov    %ebx,%eax
59c744:	5b                   	pop    %ebx
59c745:	83 c4 10             	add    $0x10,%esp
59c748:	c3                   	ret
59c749:	cc                   	int3
59c74a:	cc                   	int3
59c74b:	cc                   	int3
59c74c:	cc                   	int3
59c74d:	cc                   	int3
59c74e:	cc                   	int3
59c74f:	cc                   	int3
59c750:	b8 04 00 00 00       	mov    $0x4,%eax
59c755:	e8 96 4d 04 00       	call   0x5e14f0
59c75a:	53                   	push   %ebx
59c75b:	55                   	push   %ebp
59c75c:	57                   	push   %edi
59c75d:	8b 7c 24 18          	mov    0x18(%esp),%edi
59c761:	33 db                	xor    %ebx,%ebx
59c763:	33 ed                	xor    %ebp,%ebp
59c765:	39 5f 40             	cmp    %ebx,0x40(%edi)
59c768:	0f 85 d1 00 00 00    	jne    0x59c83f
59c76e:	57                   	push   %edi
59c76f:	ff 74 24 18          	push   0x18(%esp)
59c773:	e8 d8 f9 fd ff       	call   0x57c150
59c778:	83 c4 08             	add    $0x8,%esp
59c77b:	85 c0                	test   %eax,%eax
59c77d:	0f 85 bc 00 00 00    	jne    0x59c83f
59c783:	56                   	push   %esi
59c784:	8b 74 24 20          	mov    0x20(%esp),%esi
59c788:	85 f6                	test   %esi,%esi
59c78a:	75 13                	jne    0x59c79f
59c78c:	e8 8f b6 f3 ff       	call   0x4d7e20
59c791:	8b d8                	mov    %eax,%ebx
59c793:	8b f3                	mov    %ebx,%esi
59c795:	85 db                	test   %ebx,%ebx
59c797:	75 06                	jne    0x59c79f
59c799:	5e                   	pop    %esi
59c79a:	5f                   	pop    %edi
59c79b:	5d                   	pop    %ebp
59c79c:	5b                   	pop    %ebx
59c79d:	59                   	pop    %ecx
59c79e:	c3                   	ret
59c79f:	56                   	push   %esi
59c7a0:	e8 fb b6 f3 ff       	call   0x4d7ea0
59c7a5:	56                   	push   %esi
59c7a6:	e8 15 b6 f3 ff       	call   0x4d7dc0
59c7ab:	56                   	push   %esi
59c7ac:	89 44 24 28          	mov    %eax,0x28(%esp)
59c7b0:	e8 0b b6 f3 ff       	call   0x4d7dc0
59c7b5:	83 c4 0c             	add    $0xc,%esp
59c7b8:	89 44 24 10          	mov    %eax,0x10(%esp)
59c7bc:	85 c0                	test   %eax,%eax
59c7be:	74 5d                	je     0x59c81d
59c7c0:	56                   	push   %esi
59c7c1:	50                   	push   %eax
59c7c2:	ff 74 24 24          	push   0x24(%esp)
59c7c6:	57                   	push   %edi
59c7c7:	ff 74 24 28          	push   0x28(%esp)
59c7cb:	e8 40 f8 fd ff       	call   0x57c010
59c7d0:	83 c4 14             	add    $0x14,%esp
59c7d3:	85 c0                	test   %eax,%eax
59c7d5:	74 46                	je     0x59c81d
59c7d7:	ff 74 24 1c          	push   0x1c(%esp)
59c7db:	8d 47 04             	lea    0x4(%edi),%eax
59c7de:	50                   	push   %eax
59c7df:	e8 ec 68 f1 ff       	call   0x4b30d0
59c7e4:	83 c4 08             	add    $0x8,%esp
59c7e7:	85 c0                	test   %eax,%eax
59c7e9:	74 32                	je     0x59c81d
59c7eb:	ff 74 24 10          	push   0x10(%esp)
59c7ef:	8d 47 18             	lea    0x18(%edi),%eax
59c7f2:	50                   	push   %eax
59c7f3:	e8 d8 68 f1 ff       	call   0x4b30d0
59c7f8:	83 c4 08             	add    $0x8,%esp
59c7fb:	85 c0                	test   %eax,%eax
59c7fd:	74 1e                	je     0x59c81d
59c7ff:	8d 47 2c             	lea    0x2c(%edi),%eax
59c802:	6a 01                	push   $0x1
59c804:	50                   	push   %eax
59c805:	e8 e6 6c f1 ff       	call   0x4b34f0
59c80a:	83 c4 08             	add    $0x8,%esp
59c80d:	85 c0                	test   %eax,%eax