58b711:	ff b6 90 00 00 00    	push   0x90(%esi)
58b717:	8b 5c 24 24          	mov    0x24(%esp),%ebx
58b71b:	53                   	push   %ebx
58b71c:	e8 0f 43 ff ff       	call   0x57fa30
58b721:	8b 86 b0 04 00 00    	mov    0x4b0(%esi),%eax
58b727:	83 c4 10             	add    $0x10,%esp
58b72a:	85 c0                	test   %eax,%eax
58b72c:	74 0a                	je     0x58b738
58b72e:	50                   	push   %eax
58b72f:	57                   	push   %edi
58b730:	e8 4b 29 f8 ff       	call   0x50e080
58b735:	83 c4 08             	add    $0x8,%esp
58b738:	8b 86 d0 04 00 00    	mov    0x4d0(%esi),%eax
58b73e:	8b 48 68             	mov    0x68(%eax),%ecx
58b741:	85 c9                	test   %ecx,%ecx
58b743:	74 0b                	je     0x58b750
58b745:	ff 70 6c             	push   0x6c(%eax)
58b748:	57                   	push   %edi
58b749:	ff d1                	call   *%ecx
58b74b:	83 c4 08             	add    $0x8,%esp
58b74e:	eb 09                	jmp    0x58b759
58b750:	57                   	push   %edi
58b751:	e8 8a 9d fe ff       	call   0x5754e0
58b756:	83 c4 04             	add    $0x4,%esp
58b759:	57                   	push   %edi
58b75a:	8b e8                	mov    %eax,%ebp
58b75c:	e8 6f 49 f6 ff       	call   0x4f00d0
58b761:	68 e0 71 55 00       	push   $0x5571e0
58b766:	ff b6 d4 04 00 00    	push   0x4d4(%esi)
58b76c:	89 86 d8 04 00 00    	mov    %eax,0x4d8(%esi)
58b772:	e8 79 99 f5 ff       	call   0x4e50f0
58b777:	57                   	push   %edi
58b778:	c7 86 d4 04 00 00 00 	movl   $0x0,0x4d4(%esi)
58b77f:	00 00 00
58b782:	e8 b9 49 f6 ff       	call   0x4f0140
58b787:	83 c4 10             	add    $0x10,%esp
58b78a:	85 c0                	test   %eax,%eax
58b78c:	74 30                	je     0x58b7be
58b78e:	57                   	push   %edi
58b78f:	e8 2c 97 fe ff       	call   0x574ec0
58b794:	83 c4 04             	add    $0x4,%esp
58b797:	89 86 d4 04 00 00    	mov    %eax,0x4d4(%esi)
58b79d:	85 c0                	test   %eax,%eax
58b79f:	75 1d                	jne    0x58b7be
58b7a1:	68 b3 01 00 00       	push   $0x1b3
58b7a6:	68 ec 48 66 00       	push   $0x6648ec
58b7ab:	6a 41                	push   $0x41
58b7ad:	68 cf 00 00 00       	push   $0xcf
58b7b2:	6a 14                	push   $0x14
58b7b4:	e8 c7 d7 f4 ff       	call   0x4d8f80
58b7b9:	83 c4 14             	add    $0x14,%esp
58b7bc:	33 ed                	xor    %ebp,%ebp
58b7be:	53                   	push   %ebx
58b7bf:	ff b6 90 00 00 00    	push   0x90(%esi)
58b7c5:	e8 c6 41 ff ff       	call   0x57f990
58b7ca:	83 c4 08             	add    $0x8,%esp
58b7cd:	57                   	push   %edi
58b7ce:	e8 bd 96 fe ff       	call   0x574e90
58b7d3:	83 c4 04             	add    $0x4,%esp
58b7d6:	8b c5                	mov    %ebp,%eax
58b7d8:	5f                   	pop    %edi
58b7d9:	5e                   	pop    %esi
58b7da:	5d                   	pop    %ebp
58b7db:	5b                   	pop    %ebx
58b7dc:	c3                   	ret
58b7dd:	5d                   	pop    %ebp
58b7de:	33 c0                	xor    %eax,%eax
58b7e0:	5b                   	pop    %ebx
58b7e1:	c3                   	ret
58b7e2:	cc                   	int3
58b7e3:	cc                   	int3
58b7e4:	cc                   	int3
58b7e5:	cc                   	int3
58b7e6:	cc                   	int3
58b7e7:	cc                   	int3
58b7e8:	cc                   	int3
58b7e9:	cc                   	int3
58b7ea:	cc                   	int3
58b7eb:	cc                   	int3
58b7ec:	cc                   	int3
58b7ed:	cc                   	int3
58b7ee:	cc                   	int3
58b7ef:	cc                   	int3
58b7f0:	6a 00                	push   $0x0
58b7f2:	6a 00                	push   $0x0
58b7f4:	6a 00                	push   $0x0
58b7f6:	68 d4 48 66 00       	push   $0x6648d4
58b7fb:	6a 00                	push   $0x0
58b7fd:	6a 05                	push   $0x5
58b7ff:	e8 ac 4a f5 ff       	call   0x4e02b0
58b804:	33 c9                	xor    %ecx,%ecx
58b806:	a3 b0 e8 68 00       	mov    %eax,0x68e8b0
58b80b:	a1 b0 e8 68 00       	mov    0x68e8b0,%eax
58b810:	83 c4 18             	add    $0x18,%esp
58b813:	85 c0                	test   %eax,%eax
58b815:	0f 99 c1             	setns  %cl
58b818:	89 0d c8 6c 69 00    	mov    %ecx,0x696cc8
58b81e:	c3                   	ret
58b81f:	cc                   	int3
58b820:	b8 08 00 00 00       	mov    $0x8,%eax
58b825:	e8 86 5f 04 00       	call   0x5d17b0
58b82a:	56                   	push   %esi
58b82b:	8d 44 24 04          	lea    0x4(%esp),%eax
58b82f:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
58b836:	00
58b837:	50                   	push   %eax
58b838:	ff 74 24 14          	push   0x14(%esp)
58b83c:	c7 44 24 10 00 00 00 	movl   $0x0,0x10(%esp)
58b843:	00
58b844:	e8 c7 04 fd ff       	call   0x55bd10
58b849:	8b f0                	mov    %eax,%esi
58b84b:	8d 44 24 10          	lea    0x10(%esp),%eax
58b84f:	50                   	push   %eax
58b850:	ff 74 24 20          	push   0x20(%esp)
58b854:	e8 b7 04 fd ff       	call   0x55bd10
58b859:	83 c4 10             	add    $0x10,%esp
58b85c:	85 f6                	test   %esi,%esi
58b85e:	78 6e                	js     0x58b8ce
58b860:	85 c0                	test   %eax,%eax
58b862:	78 6a                	js     0x58b8ce
58b864:	3b f0                	cmp    %eax,%esi
58b866:	74 04                	je     0x58b86c
58b868:	2b f0                	sub    %eax,%esi
58b86a:	eb 67                	jmp    0x58b8d3
58b86c:	8b 4c 24 04          	mov    0x4(%esp),%ecx
58b870:	8b 54 24 08          	mov    0x8(%esp),%edx
58b874:	83 ee 04             	sub    $0x4,%esi
58b877:	72 18                	jb     0x58b891
58b879:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
58b880:	8b 01                	mov    (%ecx),%eax
58b882:	3b 02                	cmp    (%edx),%eax
58b884:	75 10                	jne    0x58b896
58b886:	83 c1 04             	add    $0x4,%ecx
58b889:	83 c2 04             	add    $0x4,%edx
58b88c:	83 ee 04             	sub    $0x4,%esi
58b88f:	73 ef                	jae    0x58b880
58b891:	83 fe fc             	cmp    $0xfffffffc,%esi
58b894:	74 34                	je     0x58b8ca
58b896:	8a 01                	mov    (%ecx),%al
58b898:	3a 02                	cmp    (%edx),%al
58b89a:	75 27                	jne    0x58b8c3
58b89c:	83 fe fd             	cmp    $0xfffffffd,%esi
58b89f:	74 29                	je     0x58b8ca
58b8a1:	8a 41 01             	mov    0x1(%ecx),%al
58b8a4:	3a 42 01             	cmp    0x1(%edx),%al
58b8a7:	75 1a                	jne    0x58b8c3
58b8a9:	83 fe fe             	cmp    $0xfffffffe,%esi
58b8ac:	74 1c                	je     0x58b8ca
58b8ae:	8a 41 02             	mov    0x2(%ecx),%al
58b8b1:	3a 42 02             	cmp    0x2(%edx),%al
58b8b4:	75 0d                	jne    0x58b8c3
58b8b6:	83 fe ff             	cmp    $0xffffffff,%esi
58b8b9:	74 0f                	je     0x58b8ca
58b8bb:	8a 41 03             	mov    0x3(%ecx),%al
58b8be:	3a 42 03             	cmp    0x3(%edx),%al
58b8c1:	74 07                	je     0x58b8ca
58b8c3:	1b f6                	sbb    %esi,%esi
58b8c5:	83 ce 01             	or     $0x1,%esi
58b8c8:	eb 09                	jmp    0x58b8d3
58b8ca:	33 f6                	xor    %esi,%esi
58b8cc:	eb 05                	jmp    0x58b8d3
58b8ce:	be fe ff ff ff       	mov    $0xfffffffe,%esi
58b8d3:	68 4c 02 00 00       	push   $0x24c
58b8d8:	68 ec 48 66 00       	push   $0x6648ec
58b8dd:	ff 74 24 0c          	push   0xc(%esp)
58b8e1:	e8 9a 4e f5 ff       	call   0x4e0780
58b8e6:	68 4d 02 00 00       	push   $0x24d
58b8eb:	68 ec 48 66 00       	push   $0x6648ec
58b8f0:	ff 74 24 1c          	push   0x1c(%esp)
58b8f4:	e8 87 4e f5 ff       	call   0x4e0780
58b8f9:	83 c4 18             	add    $0x18,%esp
58b8fc:	8b c6                	mov    %esi,%eax
58b8fe:	5e                   	pop    %esi
58b8ff:	83 c4 08             	add    $0x8,%esp
58b902:	c3                   	ret
58b903:	cc                   	int3
58b904:	cc                   	int3
58b905:	cc                   	int3
58b906:	cc                   	int3
58b907:	cc                   	int3
58b908:	cc                   	int3
58b909:	cc                   	int3
58b90a:	cc                   	int3
58b90b:	cc                   	int3
58b90c:	cc                   	int3
58b90d:	cc                   	int3
58b90e:	cc                   	int3
58b90f:	cc                   	int3
58b910:	8b 44 24 08          	mov    0x8(%esp),%eax
58b914:	ff 30                	push   (%eax)
58b916:	8b 44 24 08          	mov    0x8(%esp),%eax
58b91a:	ff 30                	push   (%eax)
58b91c:	e8 ff fe ff ff       	call   0x58b820
58b921:	83 c4 08             	add    $0x8,%esp
58b924:	c3                   	ret
58b925:	cc                   	int3
58b926:	cc                   	int3
58b927:	cc                   	int3
58b928:	cc                   	int3
58b929:	cc                   	int3
58b92a:	cc                   	int3
58b92b:	cc                   	int3
58b92c:	cc                   	int3
58b92d:	cc                   	int3
58b92e:	cc                   	int3
58b92f:	cc                   	int3
58b930:	8b 44 24 0c          	mov    0xc(%esp),%eax
58b934:	3d 01 01 00 00       	cmp    $0x101,%eax
58b939:	75 06                	jne    0x58b941
58b93b:	b8 01 00 00 00       	mov    $0x1,%eax
58b940:	c3                   	ret
58b941:	6a 01                	push   $0x1
58b943:	50                   	push   %eax
58b944:	ff 74 24 10          	push   0x10(%esp)
58b948:	e8 53 86 01 00       	call   0x5a3fa0
58b94d:	83 c4 0c             	add    $0xc,%esp
58b950:	85 c0                	test   %eax,%eax
58b952:	74 12                	je     0x58b966
58b954:	6a 03                	push   $0x3
58b956:	ff 74 24 0c          	push   0xc(%esp)
58b95a:	e8 c1 87 01 00       	call   0x5a4120
58b95f:	83 c4 08             	add    $0x8,%esp
58b962:	85 c0                	test   %eax,%eax
58b964:	75 d5                	jne    0x58b93b
58b966:	33 c0                	xor    %eax,%eax
58b968:	c3                   	ret
58b969:	cc                   	int3
58b96a:	cc                   	int3
58b96b:	cc                   	int3
58b96c:	cc                   	int3
58b96d:	cc                   	int3
58b96e:	cc                   	int3
58b96f:	cc                   	int3
58b970:	6a 16                	push   $0x16
58b972:	ff 74 24 08          	push   0x8(%esp)
58b976:	e8 55 82 00 00       	call   0x593bd0
58b97b:	83 c4 08             	add    $0x8,%esp
58b97e:	c3                   	ret
58b97f:	cc                   	int3
58b980:	ff 74 24 04          	push   0x4(%esp)
58b984:	e8 47 ce ff ff       	call   0x5887d0
58b989:	83 c4 04             	add    $0x4,%esp
58b98c:	c3                   	ret
58b98d:	cc                   	int3
58b98e:	cc                   	int3
58b98f:	cc                   	int3
58b990:	8b 44 24 04          	mov    0x4(%esp),%eax
58b994:	8b 48 0c             	mov    0xc(%eax),%ecx
58b997:	8b 44 24 08          	mov    0x8(%esp),%eax
58b99b:	8b 40 0c             	mov    0xc(%eax),%eax
58b99e:	3b c8                	cmp    %eax,%ecx
58b9a0:	75 03                	jne    0x58b9a5
58b9a2:	33 c0                	xor    %eax,%eax
58b9a4:	c3                   	ret
58b9a5:	1b c0                	sbb    %eax,%eax
58b9a7:	83 e0 fe             	and    $0xfffffffe,%eax
58b9aa:	40                   	inc    %eax
58b9ab:	c3                   	ret
58b9ac:	cc                   	int3
58b9ad:	cc                   	int3
58b9ae:	cc                   	int3
58b9af:	cc                   	int3
58b9b0:	8b 44 24 04          	mov    0x4(%esp),%eax
58b9b4:	68 38 0d 00 00       	push   $0xd38
58b9b9:	68 08 6f 66 00       	push   $0x666f08
58b9be:	ff b0 40 06 00 00    	push   0x640(%eax)
58b9c4:	e8 07 67 f5 ff       	call   0x4e20d0
58b9c9:	83 c4 0c             	add    $0xc,%esp
58b9cc:	c3                   	ret
58b9cd:	cc                   	int3
58b9ce:	cc                   	int3
58b9cf:	cc                   	int3
58b9d0:	8b 44 24 08          	mov    0x8(%esp),%eax
58b9d4:	83 f8 06             	cmp    $0x6,%eax
58b9d7:	74 2c                	je     0x58ba05
58b9d9:	83 f8 38             	cmp    $0x38,%eax
58b9dc:	74 16                	je     0x58b9f4
58b9de:	83 f8 4f             	cmp    $0x4f,%eax
58b9e1:	75 33                	jne    0x58ba16
58b9e3:	8b 44 24 04          	mov    0x4(%esp),%eax
58b9e7:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
58b9eb:	89 88 4c 06 00 00    	mov    %ecx,0x64c(%eax)
58b9f1:	33 c0                	xor    %eax,%eax
58b9f3:	c3                   	ret
58b9f4:	8b 44 24 04          	mov    0x4(%esp),%eax
58b9f8:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
58b9fc:	89 88 30 05 00 00    	mov    %ecx,0x530(%eax)
58ba02:	33 c0                	xor    %eax,%eax
58ba04:	c3                   	ret
58ba05:	8b 44 24 04          	mov    0x4(%esp),%eax
58ba09:	8b 88 04 04 00 00    	mov    0x404(%eax),%ecx
58ba0f:	8b 44 24 0c          	mov    0xc(%esp),%eax
58ba13:	89 41 08             	mov    %eax,0x8(%ecx)
58ba16:	33 c0                	xor    %eax,%eax
58ba18:	c3                   	ret
58ba19:	cc                   	int3
58ba1a:	cc                   	int3
58ba1b:	cc                   	int3
58ba1c:	cc                   	int3
58ba1d:	cc                   	int3
58ba1e:	cc                   	int3
58ba1f:	cc                   	int3
58ba20:	b8 20 00 00 00       	mov    $0x20,%eax
58ba25:	e8 86 5d 04 00       	call   0x5d17b0
58ba2a:	53                   	push   %ebx
58ba2b:	8b 5c 24 28          	mov    0x28(%esp),%ebx
58ba2f:	55                   	push   %ebp
58ba30:	33 ed                	xor    %ebp,%ebp
58ba32:	56                   	push   %esi
58ba33:	57                   	push   %edi
58ba34:	89 6c 24 1c          	mov    %ebp,0x1c(%esp)
58ba38:	89 6c 24 28          	mov    %ebp,0x28(%esp)
58ba3c:	89 6c 24 20          	mov    %ebp,0x20(%esp)
58ba40:	89 6c 24 24          	mov    %ebp,0x24(%esp)
58ba44:	e8 e7 aa f8 ff       	call   0x516530
58ba49:	89 44 24 2c          	mov    %eax,0x2c(%esp)
58ba4d:	8b 83 04 04 00 00    	mov    0x404(%ebx),%eax
58ba53:	89 6c 24 14          	mov    %ebp,0x14(%esp)
58ba57:	f7 40 10 00 00 03 00 	testl  $0x30000,0x10(%eax)
58ba5e:	74 15                	je     0x58ba75
58ba60:	8b 74 24 3c          	mov    0x3c(%esp),%esi
58ba64:	8b 7c 24 38          	mov    0x38(%esp),%edi
58ba68:	89 74 24 18          	mov    %esi,0x18(%esp)
58ba6c:	89 7c 24 10          	mov    %edi,0x10(%esp)
58ba70:	e9 82 00 00 00       	jmp    0x58baf7
58ba75:	8b 83 ec 04 00 00    	mov    0x4ec(%ebx),%eax
58ba7b:	a9 00 00 40 00       	test   $0x400000,%eax
58ba80:	0f 84 77 01 00 00    	je     0x58bbfd
58ba86:	8b 74 24 3c          	mov    0x3c(%esp),%esi
58ba8a:	8b 7c 24 38          	mov    0x38(%esp),%edi
58ba8e:	89 74 24 18          	mov    %esi,0x18(%esp)
58ba92:	89 7c 24 10          	mov    %edi,0x10(%esp)
58ba96:	a9 00 00 20 00       	test   $0x200000,%eax
58ba9b:	74 5a                	je     0x58baf7
58ba9d:	57                   	push   %edi
58ba9e:	e8 1d 96 f5 ff       	call   0x4e50c0
58baa3:	83 c4 04             	add    $0x4,%esp
58baa6:	85 c0                	test   %eax,%eax
58baa8:	7e 4d                	jle    0x58baf7
58baaa:	6a 00                	push   $0x0
58baac:	57                   	push   %edi
58baad:	e8 ce 97 f5 ff       	call   0x4e5280
58bab2:	83 c4 08             	add    $0x8,%esp
58bab5:	81 78 18 00 00 08 00 	cmpl   $0x80000,0x18(%eax)
58babc:	75 39                	jne    0x58baf7
58babe:	56                   	push   %esi
58babf:	e8 fc 95 f5 ff       	call   0x4e50c0
58bac4:	8b f8                	mov    %eax,%edi
58bac6:	83 c4 04             	add    $0x4,%esp
58bac9:	33 f6                	xor    %esi,%esi