5b97b6:	75 10                	jne    0x5b97c8
5b97b8:	8b 86 d0 04 00 00    	mov    0x4d0(%esi),%eax
5b97be:	8b 90 a0 00 00 00    	mov    0xa0(%eax),%edx
5b97c4:	85 d2                	test   %edx,%edx
5b97c6:	74 22                	je     0x5b97ea
5b97c8:	8b 46 7c             	mov    0x7c(%esi),%eax
5b97cb:	0f b6 88 ec 00 00 00 	movzbl 0xec(%eax),%ecx
5b97d2:	0f b6 80 ed 00 00 00 	movzbl 0xed(%eax),%eax
5b97d9:	c1 e1 08             	shl    $0x8,%ecx
5b97dc:	0b c8                	or     %eax,%ecx
5b97de:	51                   	push   %ecx
5b97df:	68 08 40 00 00       	push   $0x4008
5b97e4:	56                   	push   %esi
5b97e5:	ff d2                	call   *%edx
5b97e7:	83 c4 0c             	add    $0xc,%esp
5b97ea:	8b c7                	mov    %edi,%eax
5b97ec:	5f                   	pop    %edi
5b97ed:	5e                   	pop    %esi
5b97ee:	59                   	pop    %ecx
5b97ef:	c3                   	ret
5b97f0:	56                   	push   %esi
5b97f1:	8b 74 24 08          	mov    0x8(%esp),%esi
5b97f5:	56                   	push   %esi
5b97f6:	e8 35 58 fd ff       	call   0x58f030
5b97fb:	83 c4 04             	add    $0x4,%esp
5b97fe:	85 c0                	test   %eax,%eax
5b9800:	74 3c                	je     0x5b983e
5b9802:	56                   	push   %esi
5b9803:	e8 38 69 f3 ff       	call   0x4f0140
5b9808:	83 c4 04             	add    $0x4,%esp
5b980b:	85 c0                	test   %eax,%eax
5b980d:	75 2f                	jne    0x5b983e
5b980f:	8b 46 18             	mov    0x18(%esi),%eax
5b9812:	56                   	push   %esi
5b9813:	ff d0                	call   *%eax
5b9815:	83 c4 04             	add    $0x4,%esp
5b9818:	85 c0                	test   %eax,%eax
5b981a:	78 63                	js     0x5b987f
5b981c:	75 20                	jne    0x5b983e
5b981e:	6a 17                	push   $0x17
5b9820:	68 14 9c 66 00       	push   $0x669c14
5b9825:	68 e5 00 00 00       	push   $0xe5
5b982a:	68 0c 01 00 00       	push   $0x10c
5b982f:	6a 14                	push   $0x14
5b9831:	e8 4a f7 f1 ff       	call   0x4d8f80
5b9836:	83 c4 14             	add    $0x14,%esp
5b9839:	83 c8 ff             	or     $0xffffffff,%eax
5b983c:	5e                   	pop    %esi
5b983d:	c3                   	ret
5b983e:	8b 44 24 14          	mov    0x14(%esp),%eax
5b9842:	3d 00 40 00 00       	cmp    $0x4000,%eax
5b9847:	76 20                	jbe    0x5b9869
5b9849:	6a 1d                	push   $0x1d
5b984b:	68 14 9c 66 00       	push   $0x669c14
5b9850:	68 4e 01 00 00       	push   $0x14e
5b9855:	68 0c 01 00 00       	push   $0x10c
5b985a:	6a 14                	push   $0x14
5b985c:	e8 1f f7 f1 ff       	call   0x4d8f80
5b9861:	83 c4 14             	add    $0x14,%esp
5b9864:	83 c8 ff             	or     $0xffffffff,%eax
5b9867:	5e                   	pop    %esi
5b9868:	c3                   	ret
5b9869:	ff 74 24 18          	push   0x18(%esp)
5b986d:	50                   	push   %eax
5b986e:	ff 74 24 18          	push   0x18(%esp)
5b9872:	ff 74 24 18          	push   0x18(%esp)
5b9876:	56                   	push   %esi
5b9877:	e8 f4 5d ff ff       	call   0x5af670
5b987c:	83 c4 14             	add    $0x14,%esp
5b987f:	5e                   	pop    %esi
5b9880:	c3                   	ret
5b9881:	cc                   	int3
5b9882:	cc                   	int3
5b9883:	cc                   	int3
5b9884:	cc                   	int3
5b9885:	cc                   	int3
5b9886:	cc                   	int3
5b9887:	cc                   	int3
5b9888:	cc                   	int3
5b9889:	cc                   	int3
5b988a:	cc                   	int3
5b988b:	cc                   	int3
5b988c:	cc                   	int3
5b988d:	cc                   	int3
5b988e:	cc                   	int3
5b988f:	cc                   	int3
5b9890:	8b 4c 24 04          	mov    0x4(%esp),%ecx
5b9894:	85 c9                	test   %ecx,%ecx
5b9896:	74 1e                	je     0x5b98b6
5b9898:	8b 81 e4 05 00 00    	mov    0x5e4(%ecx),%eax
5b989e:	85 c0                	test   %eax,%eax
5b98a0:	75 16                	jne    0x5b98b8
5b98a2:	8b 81 d0 04 00 00    	mov    0x4d0(%ecx),%eax
5b98a8:	85 c0                	test   %eax,%eax
5b98aa:	74 0a                	je     0x5b98b6
5b98ac:	8b 80 10 02 00 00    	mov    0x210(%eax),%eax
5b98b2:	85 c0                	test   %eax,%eax
5b98b4:	75 02                	jne    0x5b98b8
5b98b6:	33 c0                	xor    %eax,%eax
5b98b8:	c3                   	ret
5b98b9:	cc                   	int3
5b98ba:	cc                   	int3
5b98bb:	cc                   	int3
5b98bc:	cc                   	int3
5b98bd:	cc                   	int3
5b98be:	cc                   	int3
5b98bf:	cc                   	int3
5b98c0:	55                   	push   %ebp
5b98c1:	8b ec                	mov    %esp,%ebp
5b98c3:	83 ec 20             	sub    $0x20,%esp
5b98c6:	53                   	push   %ebx
5b98c7:	8b 5d 20             	mov    0x20(%ebp),%ebx
5b98ca:	56                   	push   %esi
5b98cb:	8b 75 08             	mov    0x8(%ebp),%esi
5b98ce:	c7 45 f8 c0 9e 5b 00 	movl   $0x5b9ec0,-0x8(%ebp)
5b98d5:	8d 43 01             	lea    0x1(%ebx),%eax
5b98d8:	c7 45 fc b0 a0 5b 00 	movl   $0x5ba0b0,-0x4(%ebp)
5b98df:	d1 f8                	sar    $1,%eax
5b98e1:	89 45 20             	mov    %eax,0x20(%ebp)
5b98e4:	c7 45 f0 00 a1 5b 00 	movl   $0x5ba100,-0x10(%ebp)
5b98eb:	85 f6                	test   %esi,%esi
5b98ed:	0f 84 2e 02 00 00    	je     0x5b9b21
5b98f3:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
5b98f7:	0f 84 24 02 00 00    	je     0x5b9b21
5b98fd:	83 7d 18 00          	cmpl   $0x0,0x18(%ebp)
5b9901:	0f 84 1a 02 00 00    	je     0x5b9b21
5b9907:	85 db                	test   %ebx,%ebx
5b9909:	0f 8e 12 02 00 00    	jle    0x5b9b21
5b990f:	8b 45 24             	mov    0x24(%ebp),%eax
5b9912:	85 c0                	test   %eax,%eax
5b9914:	0f 84 07 02 00 00    	je     0x5b9b21
5b991a:	79 15                	jns    0x5b9931
5b991c:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5b991f:	f7 d8                	neg    %eax
5b9921:	89 45 24             	mov    %eax,0x24(%ebp)
5b9924:	48                   	dec    %eax
5b9925:	0f af c1             	imul   %ecx,%eax
5b9928:	03 f0                	add    %eax,%esi
5b992a:	f7 d9                	neg    %ecx
5b992c:	89 4d 08             	mov    %ecx,0x8(%ebp)
5b992f:	eb 06                	jmp    0x5b9937
5b9931:	8b 45 0c             	mov    0xc(%ebp),%eax
5b9934:	89 45 08             	mov    %eax,0x8(%ebp)
5b9937:	a1 cc 6c 69 00       	mov    0x696ccc,%eax
5b993c:	85 c0                	test   %eax,%eax
5b993e:	75 0e                	jne    0x5b994e
5b9940:	e8 ab 09 00 00       	call   0x5ba2f0
5b9945:	8b c8                	mov    %eax,%ecx
5b9947:	a1 cc 6c 69 00       	mov    0x696ccc,%eax
5b994c:	eb 02                	jmp    0x5b9950
5b994e:	8b c8                	mov    %eax,%ecx
5b9950:	57                   	push   %edi
5b9951:	f6 c1 40             	test   $0x40,%cl
5b9954:	74 13                	je     0x5b9969
5b9956:	f6 c3 0f             	test   $0xf,%bl
5b9959:	bf 30 aa 5b 00       	mov    $0x5baa30,%edi
5b995e:	b9 70 a5 5b 00       	mov    $0x5ba570,%ecx
5b9963:	0f 44 f9             	cmove  %ecx,%edi
5b9966:	89 7d fc             	mov    %edi,-0x4(%ebp)
5b9969:	85 c0                	test   %eax,%eax
5b996b:	75 0e                	jne    0x5b997b
5b996d:	e8 7e 09 00 00       	call   0x5ba2f0
5b9972:	8b c8                	mov    %eax,%ecx
5b9974:	a1 cc 6c 69 00       	mov    0x696ccc,%eax
5b9979:	eb 02                	jmp    0x5b997d
5b997b:	8b c8                	mov    %eax,%ecx
5b997d:	f6 c1 40             	test   $0x40,%cl
5b9980:	74 13                	je     0x5b9995
5b9982:	f6 c3 0f             	test   $0xf,%bl
5b9985:	bf e0 a7 5b 00       	mov    $0x5ba7e0,%edi
5b998a:	b9 00 a4 5b 00       	mov    $0x5ba400,%ecx
5b998f:	0f 44 f9             	cmove  %ecx,%edi
5b9992:	89 7d f8             	mov    %edi,-0x8(%ebp)
5b9995:	85 c0                	test   %eax,%eax
5b9997:	75 0e                	jne    0x5b99a7
5b9999:	e8 52 09 00 00       	call   0x5ba2f0
5b999e:	8b c8                	mov    %eax,%ecx
5b99a0:	a1 cc 6c 69 00       	mov    0x696ccc,%eax
5b99a5:	eb 02                	jmp    0x5b99a9
5b99a7:	8b c8                	mov    %eax,%ecx
5b99a9:	f7 c1 00 04 00 00    	test   $0x400,%ecx
5b99af:	74 13                	je     0x5b99c4
5b99b1:	f6 c3 1f             	test   $0x1f,%bl
5b99b4:	bf 50 a9 5b 00       	mov    $0x5ba950,%edi
5b99b9:	b9 e0 a4 5b 00       	mov    $0x5ba4e0,%ecx
5b99be:	0f 44 f9             	cmove  %ecx,%edi
5b99c1:	89 7d fc             	mov    %edi,-0x4(%ebp)
5b99c4:	85 c0                	test   %eax,%eax
5b99c6:	75 0e                	jne    0x5b99d6
5b99c8:	e8 23 09 00 00       	call   0x5ba2f0
5b99cd:	8b c8                	mov    %eax,%ecx
5b99cf:	a1 cc 6c 69 00       	mov    0x696ccc,%eax
5b99d4:	eb 02                	jmp    0x5b99d8
5b99d6:	8b c8                	mov    %eax,%ecx
5b99d8:	f7 c1 00 04 00 00    	test   $0x400,%ecx
5b99de:	74 13                	je     0x5b99f3
5b99e0:	f6 c3 1f             	test   $0x1f,%bl
5b99e3:	b9 70 a6 5b 00       	mov    $0x5ba670,%ecx
5b99e8:	ba 20 a3 5b 00       	mov    $0x5ba320,%edx
5b99ed:	0f 44 ca             	cmove  %edx,%ecx
5b99f0:	89 4d f8             	mov    %ecx,-0x8(%ebp)
5b99f3:	85 c0                	test   %eax,%eax
5b99f5:	75 0e                	jne    0x5b9a05
5b99f7:	e8 f4 08 00 00       	call   0x5ba2f0
5b99fc:	8b c8                	mov    %eax,%ecx
5b99fe:	a1 cc 6c 69 00       	mov    0x696ccc,%eax
5b9a03:	eb 02                	jmp    0x5b9a07
5b9a05:	8b c8                	mov    %eax,%ecx
5b9a07:	f6 c1 20             	test   $0x20,%cl
5b9a0a:	74 14                	je     0x5b9a20
5b9a0c:	f6 45 20 0f          	testb  $0xf,0x20(%ebp)
5b9a10:	b9 10 ac 5b 00       	mov    $0x5bac10,%ecx
5b9a15:	ba 30 a6 5b 00       	mov    $0x5ba630,%edx
5b9a1a:	0f 44 ca             	cmove  %edx,%ecx
5b9a1d:	89 4d f0             	mov    %ecx,-0x10(%ebp)
5b9a20:	85 c0                	test   %eax,%eax
5b9a22:	75 05                	jne    0x5b9a29
5b9a24:	e8 c7 08 00 00       	call   0x5ba2f0
5b9a29:	a9 00 04 00 00       	test   $0x400,%eax
5b9a2e:	74 14                	je     0x5b9a44
5b9a30:	f6 45 20 1f          	testb  $0x1f,0x20(%ebp)
5b9a34:	b8 10 ab 5b 00       	mov    $0x5bab10,%eax
5b9a39:	b9 e0 a5 5b 00       	mov    $0x5ba5e0,%ecx
5b9a3e:	0f 44 c1             	cmove  %ecx,%eax
5b9a41:	89 45 f0             	mov    %eax,-0x10(%ebp)
5b9a44:	8b 7d 20             	mov    0x20(%ebp),%edi
5b9a47:	83 c7 1f             	add    $0x1f,%edi
5b9a4a:	8b c7                	mov    %edi,%eax
5b9a4c:	83 e0 e0             	and    $0xffffffe0,%eax
5b9a4f:	8d 04 45 3f 00 00 00 	lea    0x3f(,%eax,2),%eax
5b9a56:	50                   	push   %eax
5b9a57:	e8 93 ae 02 00       	call   0x5e48ef
5b9a5c:	8b 4d 24             	mov    0x24(%ebp),%ecx
5b9a5f:	83 e7 e0             	and    $0xffffffe0,%edi
5b9a62:	89 45 e0             	mov    %eax,-0x20(%ebp)
5b9a65:	83 c4 04             	add    $0x4,%esp
5b9a68:	83 c0 3f             	add    $0x3f,%eax
5b9a6b:	83 e0 c0             	and    $0xffffffc0,%eax
5b9a6e:	8d 51 ff             	lea    -0x1(%ecx),%edx
5b9a71:	89 45 f4             	mov    %eax,-0xc(%ebp)
5b9a74:	03 f8                	add    %eax,%edi
5b9a76:	89 55 ec             	mov    %edx,-0x14(%ebp)
5b9a79:	85 d2                	test   %edx,%edx
5b9a7b:	7e 6a                	jle    0x5b9ae7
5b9a7d:	8b 55 08             	mov    0x8(%ebp),%edx
5b9a80:	8d 0c 12             	lea    (%edx,%edx,1),%ecx
5b9a83:	89 4d e8             	mov    %ecx,-0x18(%ebp)
5b9a86:	8b 4d 14             	mov    0x14(%ebp),%ecx
5b9a89:	03 c9                	add    %ecx,%ecx
5b9a8b:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
5b9a8e:	8b 4d ec             	mov    -0x14(%ebp),%ecx
5b9a91:	49                   	dec    %ecx
5b9a92:	d1 e9                	shr    $1,%ecx
5b9a94:	41                   	inc    %ecx
5b9a95:	89 4d ec             	mov    %ecx,-0x14(%ebp)
5b9a98:	53                   	push   %ebx
5b9a99:	57                   	push   %edi
5b9a9a:	50                   	push   %eax
5b9a9b:	52                   	push   %edx
5b9a9c:	56                   	push   %esi
5b9a9d:	ff 55 f8             	call   *-0x8(%ebp)
5b9aa0:	ff 75 20             	push   0x20(%ebp)
5b9aa3:	ff 75 18             	push   0x18(%ebp)
5b9aa6:	57                   	push   %edi
5b9aa7:	ff 75 f4             	push   -0xc(%ebp)
5b9aaa:	ff 55 f0             	call   *-0x10(%ebp)
5b9aad:	53                   	push   %ebx
5b9aae:	ff 75 10             	push   0x10(%ebp)
5b9ab1:	56                   	push   %esi
5b9ab2:	ff 55 fc             	call   *-0x4(%ebp)
5b9ab5:	8b 45 10             	mov    0x10(%ebp),%eax
5b9ab8:	03 45 14             	add    0x14(%ebp),%eax
5b9abb:	53                   	push   %ebx
5b9abc:	50                   	push   %eax
5b9abd:	8b 45 08             	mov    0x8(%ebp),%eax
5b9ac0:	03 c6                	add    %esi,%eax
5b9ac2:	50                   	push   %eax
5b9ac3:	ff 55 fc             	call   *-0x4(%ebp)
5b9ac6:	8b 45 e4             	mov    -0x1c(%ebp),%eax
5b9ac9:	83 c4 3c             	add    $0x3c,%esp
5b9acc:	01 45 10             	add    %eax,0x10(%ebp)
5b9acf:	8b 45 1c             	mov    0x1c(%ebp),%eax
5b9ad2:	01 45 18             	add    %eax,0x18(%ebp)
5b9ad5:	03 75 e8             	add    -0x18(%ebp),%esi
5b9ad8:	83 6d ec 01          	subl   $0x1,-0x14(%ebp)
5b9adc:	8b 45 f4             	mov    -0xc(%ebp),%eax
5b9adf:	8b 55 08             	mov    0x8(%ebp),%edx
5b9ae2:	75 b4                	jne    0x5b9a98
5b9ae4:	8b 4d 24             	mov    0x24(%ebp),%ecx
5b9ae7:	f6 c1 01             	test   $0x1,%cl
5b9aea:	74 21                	je     0x5b9b0d
5b9aec:	53                   	push   %ebx
5b9aed:	57                   	push   %edi
5b9aee:	50                   	push   %eax
5b9aef:	6a 00                	push   $0x0
5b9af1:	56                   	push   %esi
5b9af2:	ff 55 f8             	call   *-0x8(%ebp)
5b9af5:	ff 75 20             	push   0x20(%ebp)
5b9af8:	ff 75 18             	push   0x18(%ebp)
5b9afb:	57                   	push   %edi
5b9afc:	ff 75 f4             	push   -0xc(%ebp)
5b9aff:	ff 55 f0             	call   *-0x10(%ebp)
5b9b02:	53                   	push   %ebx
5b9b03:	ff 75 10             	push   0x10(%ebp)
5b9b06:	56                   	push   %esi
5b9b07:	ff 55 fc             	call   *-0x4(%ebp)
5b9b0a:	83 c4 30             	add    $0x30,%esp
5b9b0d:	ff 75 e0             	push   -0x20(%ebp)
5b9b10:	e8 18 64 02 00       	call   0x5dff2d
5b9b15:	83 c4 04             	add    $0x4,%esp
5b9b18:	33 c0                	xor    %eax,%eax
5b9b1a:	5f                   	pop    %edi
5b9b1b:	5e                   	pop    %esi
5b9b1c:	5b                   	pop    %ebx
5b9b1d:	8b e5                	mov    %ebp,%esp
5b9b1f:	5d                   	pop    %ebp
5b9b20:	c3                   	ret
5b9b21:	5e                   	pop    %esi
5b9b22:	83 c8 ff             	or     $0xffffffff,%eax
5b9b25:	5b                   	pop    %ebx
5b9b26:	8b e5                	mov    %ebp,%esp
5b9b28:	5d                   	pop    %ebp
5b9b29:	c3                   	ret
5b9b2a:	cc                   	int3
5b9b2b:	cc                   	int3
5b9b2c:	cc                   	int3
5b9b2d:	cc                   	int3
5b9b2e:	cc                   	int3
5b9b2f:	cc                   	int3
5b9b30:	55                   	push   %ebp
5b9b31:	8b ec                	mov    %esp,%ebp
5b9b33:	83 ec 1c             	sub    $0x1c,%esp
5b9b36:	53                   	push   %ebx
5b9b37:	56                   	push   %esi
5b9b38:	8b 75 08             	mov    0x8(%ebp),%esi
5b9b3b:	57                   	push   %edi
5b9b3c:	8b 7d 24             	mov    0x24(%ebp),%edi
5b9b3f:	c7 45 f4 00 a1 5b 00 	movl   $0x5ba100,-0xc(%ebp)
5b9b46:	8d 57 01             	lea    0x1(%edi),%edx
5b9b49:	d1 fa                	sar    $1,%edx
5b9b4b:	89 55 fc             	mov    %edx,-0x4(%ebp)
5b9b4e:	85 f6                	test   %esi,%esi
5b9b50:	0f 84 9d 01 00 00    	je     0x5b9cf3
5b9b56:	8b 5d 10             	mov    0x10(%ebp),%ebx
5b9b59:	85 db                	test   %ebx,%ebx
5b9b5b:	0f 84 92 01 00 00    	je     0x5b9cf3
5b9b61:	83 7d 18 00          	cmpl   $0x0,0x18(%ebp)
5b9b65:	0f 84 88 01 00 00    	je     0x5b9cf3
5b9b6b:	85 ff                	test   %edi,%edi
5b9b6d:	0f 8e 80 01 00 00    	jle    0x5b9cf3