5b9706:	83 c4 0c             	add    $0xc,%esp
5b9709:	f7 e9                	imul   %ecx
5b970b:	c1 fa 02             	sar    $0x2,%edx
5b970e:	8b c2                	mov    %edx,%eax
5b9710:	c1 e8 1f             	shr    $0x1f,%eax
5b9713:	03 c2                	add    %edx,%eax
5b9715:	8d 0c 40             	lea    (%eax,%eax,2),%ecx
5b9718:	8b c6                	mov    %esi,%eax
5b971a:	c1 e1 03             	shl    $0x3,%ecx
5b971d:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
5b9723:	72 14                	jb     0x5b9739
5b9725:	8b 76 fc             	mov    -0x4(%esi),%esi
5b9728:	83 c1 23             	add    $0x23,%ecx
5b972b:	2b c6                	sub    %esi,%eax
5b972d:	83 c0 fc             	add    $0xfffffffc,%eax
5b9730:	83 f8 1f             	cmp    $0x1f,%eax
5b9733:	0f 87 98 0b 00 00    	ja     0x5ba2d1
5b9739:	51                   	push   %ecx
5b973a:	56                   	push   %esi
5b973b:	e8 32 79 02 00       	call   0x5e1072
5b9740:	83 c4 08             	add    $0x8,%esp
5b9743:	c7 85 64 ff ff ff 00 	movl   $0x0,-0x9c(%ebp)
5b974a:	00 00 00
5b974d:	c7 85 68 ff ff ff 00 	movl   $0x0,-0x98(%ebp)
5b9754:	00 00 00
5b9757:	c7 85 6c ff ff ff 00 	movl   $0x0,-0x94(%ebp)
5b975e:	00 00 00
5b9761:	8b bd ec fe ff ff    	mov    -0x114(%ebp),%edi
5b9767:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
5b976c:	8b b5 e8 fe ff ff    	mov    -0x118(%ebp),%esi
5b9772:	8b cf                	mov    %edi,%ecx
5b9774:	ff 85 e4 fe ff ff    	incl   -0x11c(%ebp)
5b977a:	2b ce                	sub    %esi,%ecx
5b977c:	83 85 f4 fe ff ff 18 	addl   $0x18,-0x10c(%ebp)
5b9783:	f7 e9                	imul   %ecx
5b9785:	c1 fa 02             	sar    $0x2,%edx
5b9788:	8b c2                	mov    %edx,%eax
5b978a:	c1 e8 1f             	shr    $0x1f,%eax
5b978d:	03 c2                	add    %edx,%eax
5b978f:	39 85 e4 fe ff ff    	cmp    %eax,-0x11c(%ebp)
5b9795:	8b 85 f4 fe ff ff    	mov    -0x10c(%ebp),%eax
5b979b:	0f 82 21 fe ff ff    	jb     0x5b95c2
5b97a1:	85 f6                	test   %esi,%esi
5b97a3:	0f 84 02 0b 00 00    	je     0x5ba2ab
5b97a9:	3b f7                	cmp    %edi,%esi
5b97ab:	74 54                	je     0x5b9801
5b97ad:	0f 1f 00             	nopl   (%eax)
5b97b0:	8b 4e 14             	mov    0x14(%esi),%ecx
5b97b3:	83 f9 10             	cmp    $0x10,%ecx
5b97b6:	72 2b                	jb     0x5b97e3
5b97b8:	8b 06                	mov    (%esi),%eax
5b97ba:	41                   	inc    %ecx
5b97bb:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
5b97c1:	72 16                	jb     0x5b97d9
5b97c3:	8b 50 fc             	mov    -0x4(%eax),%edx
5b97c6:	83 c1 23             	add    $0x23,%ecx
5b97c9:	2b c2                	sub    %edx,%eax
5b97cb:	83 c0 fc             	add    $0xfffffffc,%eax
5b97ce:	83 f8 1f             	cmp    $0x1f,%eax
5b97d1:	0f 87 fa 0a 00 00    	ja     0x5ba2d1
5b97d7:	8b c2                	mov    %edx,%eax
5b97d9:	51                   	push   %ecx
5b97da:	50                   	push   %eax
5b97db:	e8 92 78 02 00       	call   0x5e1072
5b97e0:	83 c4 08             	add    $0x8,%esp
5b97e3:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
5b97ea:	c7 46 14 0f 00 00 00 	movl   $0xf,0x14(%esi)
5b97f1:	c6 06 00             	movb   $0x0,(%esi)
5b97f4:	83 c6 18             	add    $0x18,%esi
5b97f7:	3b f7                	cmp    %edi,%esi
5b97f9:	75 b5                	jne    0x5b97b0
5b97fb:	8b b5 e8 fe ff ff    	mov    -0x118(%ebp),%esi
5b9801:	8b 8d f0 fe ff ff    	mov    -0x110(%ebp),%ecx
5b9807:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
5b980c:	2b ce                	sub    %esi,%ecx
5b980e:	f7 e9                	imul   %ecx
5b9810:	c1 fa 02             	sar    $0x2,%edx
5b9813:	8b c2                	mov    %edx,%eax
5b9815:	c1 e8 1f             	shr    $0x1f,%eax
5b9818:	03 c2                	add    %edx,%eax
5b981a:	8d 0c 40             	lea    (%eax,%eax,2),%ecx
5b981d:	8b c6                	mov    %esi,%eax
5b981f:	c1 e1 03             	shl    $0x3,%ecx
5b9822:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
5b9828:	0f 82 40 fc ff ff    	jb     0x5b946e
5b982e:	8b 76 fc             	mov    -0x4(%esi),%esi
5b9831:	83 c1 23             	add    $0x23,%ecx
5b9834:	2b c6                	sub    %esi,%eax
5b9836:	83 c0 fc             	add    $0xfffffffc,%eax
5b9839:	83 f8 1f             	cmp    $0x1f,%eax
5b983c:	0f 87 8f 0a 00 00    	ja     0x5ba2d1
5b9842:	e9 27 fc ff ff       	jmp    0x5b946e
5b9847:	c7 07 0a 00 00 00    	movl   $0xa,(%edi)
5b984d:	e9 59 0a 00 00       	jmp    0x5ba2ab
5b9852:	6a 01                	push   $0x1
5b9854:	e8 27 93 ff ff       	call   0x5b2b80
5b9859:	83 c4 04             	add    $0x4,%esp
5b985c:	89 07                	mov    %eax,(%edi)
5b985e:	e9 48 0a 00 00       	jmp    0x5ba2ab
5b9863:	6a 50                	push   $0x50
5b9865:	c7 85 d0 fe ff ff 00 	movl   $0x0,-0x130(%ebp)
5b986c:	00 00 00
5b986f:	c7 85 d4 fe ff ff 00 	movl   $0x0,-0x12c(%ebp)
5b9876:	00 00 00
5b9879:	e8 c4 77 02 00       	call   0x5e1042
5b987e:	89 00                	mov    %eax,(%eax)
5b9880:	89 40 04             	mov    %eax,0x4(%eax)
5b9883:	89 85 d0 fe ff ff    	mov    %eax,-0x130(%ebp)
5b9889:	8d 85 d0 fe ff ff    	lea    -0x130(%ebp),%eax
5b988f:	c7 45 fc 0c 00 00 00 	movl   $0xc,-0x4(%ebp)
5b9896:	6a 01                	push   $0x1
5b9898:	50                   	push   %eax
5b9899:	e8 12 9c ff ff       	call   0x5b34b0
5b989e:	8b 9d d0 fe ff ff    	mov    -0x130(%ebp),%ebx
5b98a4:	83 c4 0c             	add    $0xc,%esp
5b98a7:	89 07                	mov    %eax,(%edi)
5b98a9:	8b 33                	mov    (%ebx),%esi
5b98ab:	89 b5 d8 fe ff ff    	mov    %esi,-0x128(%ebp)
5b98b1:	3b f3                	cmp    %ebx,%esi
5b98b3:	0f 84 fe 01 00 00    	je     0x5b9ab7
5b98b9:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
5b98c0:	c7 85 64 ff ff ff 00 	movl   $0x0,-0x9c(%ebp)
5b98c7:	00 00 00
5b98ca:	c7 85 68 ff ff ff 00 	movl   $0x0,-0x98(%ebp)
5b98d1:	00 00 00
5b98d4:	c7 85 6c ff ff ff 00 	movl   $0x0,-0x94(%ebp)
5b98db:	00 00 00
5b98de:	8d 46 08             	lea    0x8(%esi),%eax
5b98e1:	c6 45 fc 0d          	movb   $0xd,-0x4(%ebp)
5b98e5:	50                   	push   %eax
5b98e6:	6a 00                	push   $0x0
5b98e8:	8d 8d 64 ff ff ff    	lea    -0x9c(%ebp),%ecx
5b98ee:	e8 fd 0b e9 ff       	call   0x44a4f0
5b98f3:	8b 9d 68 ff ff ff    	mov    -0x98(%ebp),%ebx
5b98f9:	8d 46 20             	lea    0x20(%esi),%eax
5b98fc:	50                   	push   %eax
5b98fd:	3b 9d 6c ff ff ff    	cmp    -0x94(%ebp),%ebx
5b9903:	74 12                	je     0x5b9917
5b9905:	8b cb                	mov    %ebx,%ecx
5b9907:	e8 94 34 e8 ff       	call   0x43cda0
5b990c:	83 c3 18             	add    $0x18,%ebx
5b990f:	89 9d 68 ff ff ff    	mov    %ebx,-0x98(%ebp)
5b9915:	eb 12                	jmp    0x5b9929
5b9917:	53                   	push   %ebx
5b9918:	8d 8d 64 ff ff ff    	lea    -0x9c(%ebp),%ecx
5b991e:	e8 cd 0b e9 ff       	call   0x44a4f0
5b9923:	8b 9d 68 ff ff ff    	mov    -0x98(%ebp),%ebx
5b9929:	8d 46 38             	lea    0x38(%esi),%eax
5b992c:	50                   	push   %eax
5b992d:	3b 9d 6c ff ff ff    	cmp    -0x94(%ebp),%ebx
5b9933:	74 12                	je     0x5b9947
5b9935:	8b cb                	mov    %ebx,%ecx
5b9937:	e8 64 34 e8 ff       	call   0x43cda0
5b993c:	83 c3 18             	add    $0x18,%ebx
5b993f:	89 9d 68 ff ff ff    	mov    %ebx,-0x98(%ebp)
5b9945:	eb 12                	jmp    0x5b9959
5b9947:	53                   	push   %ebx
5b9948:	8d 8d 64 ff ff ff    	lea    -0x9c(%ebp),%ecx
5b994e:	e8 9d 0b e9 ff       	call   0x44a4f0
5b9953:	8b 9d 68 ff ff ff    	mov    -0x98(%ebp),%ebx
5b9959:	8b 85 e0 fe ff ff    	mov    -0x120(%ebp),%eax
5b995f:	8b 48 04             	mov    0x4(%eax),%ecx
5b9962:	89 8d e4 fe ff ff    	mov    %ecx,-0x11c(%ebp)
5b9968:	3b 48 08             	cmp    0x8(%eax),%ecx
5b996b:	0f 84 b8 00 00 00    	je     0x5b9a29
5b9971:	8b 95 64 ff ff ff    	mov    -0x9c(%ebp),%edx
5b9977:	c7 01 00 00 00 00    	movl   $0x0,(%ecx)
5b997d:	c7 41 04 00 00 00 00 	movl   $0x0,0x4(%ecx)
5b9984:	c7 41 08 00 00 00 00 	movl   $0x0,0x8(%ecx)
5b998b:	3b d3                	cmp    %ebx,%edx
5b998d:	0f 84 90 00 00 00    	je     0x5b9a23
5b9993:	8b cb                	mov    %ebx,%ecx
5b9995:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
5b999a:	2b ca                	sub    %edx,%ecx
5b999c:	f7 e9                	imul   %ecx
5b999e:	8b 8d e4 fe ff ff    	mov    -0x11c(%ebp),%ecx
5b99a4:	c1 fa 02             	sar    $0x2,%edx
5b99a7:	8b fa                	mov    %edx,%edi
5b99a9:	c1 ef 1f             	shr    $0x1f,%edi
5b99ac:	03 fa                	add    %edx,%edi
5b99ae:	57                   	push   %edi
5b99af:	e8 ac b6 e8 ff       	call   0x445060
5b99b4:	8b f0                	mov    %eax,%esi
5b99b6:	8d 0c 7f             	lea    (%edi,%edi,2),%ecx
5b99b9:	8b 85 e4 fe ff ff    	mov    -0x11c(%ebp),%eax
5b99bf:	89 85 cc fe ff ff    	mov    %eax,-0x134(%ebp)
5b99c5:	8d 0c ce             	lea    (%esi,%ecx,8),%ecx
5b99c8:	89 30                	mov    %esi,(%eax)
5b99ca:	89 70 04             	mov    %esi,0x4(%eax)
5b99cd:	89 48 08             	mov    %ecx,0x8(%eax)
5b99d0:	8b bd 64 ff ff ff    	mov    -0x9c(%ebp),%edi
5b99d6:	89 b5 4c ff ff ff    	mov    %esi,-0xb4(%ebp)
5b99dc:	89 b5 50 ff ff ff    	mov    %esi,-0xb0(%ebp)
5b99e2:	89 85 54 ff ff ff    	mov    %eax,-0xac(%ebp)
5b99e8:	c6 45 fc 0f          	movb   $0xf,-0x4(%ebp)
5b99ec:	0f 1f 40 00          	nopl   0x0(%eax)
5b99f0:	57                   	push   %edi
5b99f1:	8b ce                	mov    %esi,%ecx
5b99f3:	e8 a8 33 e8 ff       	call   0x43cda0
5b99f8:	83 c6 18             	add    $0x18,%esi
5b99fb:	83 c7 18             	add    $0x18,%edi
5b99fe:	89 b5 50 ff ff ff    	mov    %esi,-0xb0(%ebp)
5b9a04:	3b fb                	cmp    %ebx,%edi
5b9a06:	75 e8                	jne    0x5b99f0
5b9a08:	8b 85 e4 fe ff ff    	mov    -0x11c(%ebp),%eax
5b9a0e:	89 b5 4c ff ff ff    	mov    %esi,-0xb4(%ebp)
5b9a14:	89 70 04             	mov    %esi,0x4(%eax)
5b9a17:	8b b5 d8 fe ff ff    	mov    -0x128(%ebp),%esi
5b9a1d:	8b 85 e0 fe ff ff    	mov    -0x120(%ebp),%eax
5b9a23:	83 40 04 0c          	addl   $0xc,0x4(%eax)
5b9a27:	eb 15                	jmp    0x5b9a3e
5b9a29:	8d 95 64 ff ff ff    	lea    -0x9c(%ebp),%edx
5b9a2f:	52                   	push   %edx
5b9a30:	51                   	push   %ecx
5b9a31:	8b c8                	mov    %eax,%ecx
5b9a33:	e8 e8 a8 e8 ff       	call   0x444320
5b9a38:	8b 9d 68 ff ff ff    	mov    -0x98(%ebp),%ebx
5b9a3e:	8b bd 64 ff ff ff    	mov    -0x9c(%ebp),%edi
5b9a44:	c6 45 fc 0c          	movb   $0xc,-0x4(%ebp)
5b9a48:	85 ff                	test   %edi,%edi
5b9a4a:	74 55                	je     0x5b9aa1
5b9a4c:	8d 85 64 ff ff ff    	lea    -0x9c(%ebp),%eax
5b9a52:	50                   	push   %eax
5b9a53:	53                   	push   %ebx
5b9a54:	57                   	push   %edi
5b9a55:	e8 56 a8 e8 ff       	call   0x4442b0
5b9a5a:	8b 8d 6c ff ff ff    	mov    -0x94(%ebp),%ecx
5b9a60:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
5b9a65:	2b cf                	sub    %edi,%ecx
5b9a67:	83 c4 0c             	add    $0xc,%esp
5b9a6a:	f7 e9                	imul   %ecx
5b9a6c:	8d 8d 64 ff ff ff    	lea    -0x9c(%ebp),%ecx
5b9a72:	c1 fa 02             	sar    $0x2,%edx
5b9a75:	8b c2                	mov    %edx,%eax
5b9a77:	c1 e8 1f             	shr    $0x1f,%eax
5b9a7a:	03 c2                	add    %edx,%eax
5b9a7c:	50                   	push   %eax
5b9a7d:	57                   	push   %edi
5b9a7e:	e8 0d 09 e9 ff       	call   0x44a390
5b9a83:	c7 85 64 ff ff ff 00 	movl   $0x0,-0x9c(%ebp)
5b9a8a:	00 00 00
5b9a8d:	c7 85 68 ff ff ff 00 	movl   $0x0,-0x98(%ebp)
5b9a94:	00 00 00
5b9a97:	c7 85 6c ff ff ff 00 	movl   $0x0,-0x94(%ebp)
5b9a9e:	00 00 00
5b9aa1:	8b 36                	mov    (%esi),%esi
5b9aa3:	8b 9d d0 fe ff ff    	mov    -0x130(%ebp),%ebx
5b9aa9:	89 b5 d8 fe ff ff    	mov    %esi,-0x128(%ebp)
5b9aaf:	3b f3                	cmp    %ebx,%esi
5b9ab1:	0f 85 09 fe ff ff    	jne    0x5b98c0
5b9ab7:	8b 43 04             	mov    0x4(%ebx),%eax
5b9aba:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
5b9ac0:	8b 1b                	mov    (%ebx),%ebx
5b9ac2:	85 db                	test   %ebx,%ebx
5b9ac4:	74 2b                	je     0x5b9af1
5b9ac6:	8b 3b                	mov    (%ebx),%edi
5b9ac8:	8d 4b 38             	lea    0x38(%ebx),%ecx
5b9acb:	e8 e0 eb e7 ff       	call   0x4386b0
5b9ad0:	8d 4b 20             	lea    0x20(%ebx),%ecx
5b9ad3:	e8 d8 eb e7 ff       	call   0x4386b0
5b9ad8:	8d 4b 08             	lea    0x8(%ebx),%ecx
5b9adb:	e8 d0 eb e7 ff       	call   0x4386b0
5b9ae0:	6a 50                	push   $0x50
5b9ae2:	53                   	push   %ebx
5b9ae3:	e8 8a 75 02 00       	call   0x5e1072
5b9ae8:	83 c4 08             	add    $0x8,%esp
5b9aeb:	8b df                	mov    %edi,%ebx
5b9aed:	85 ff                	test   %edi,%edi
5b9aef:	75 d5                	jne    0x5b9ac6
5b9af1:	6a 50                	push   $0x50
5b9af3:	ff b5 d0 fe ff ff    	push   -0x130(%ebp)
5b9af9:	e8 74 75 02 00       	call   0x5e1072
5b9afe:	83 c4 08             	add    $0x8,%esp
5b9b01:	e9 a5 07 00 00       	jmp    0x5ba2ab
5b9b06:	8b ce                	mov    %esi,%ecx
5b9b08:	e8 03 19 00 00       	call   0x5bb410
5b9b0d:	83 f8 01             	cmp    $0x1,%eax
5b9b10:	0f 85 79 07 00 00    	jne    0x5ba28f
5b9b16:	8b 1e                	mov    (%esi),%ebx
5b9b18:	8b cb                	mov    %ebx,%ecx
5b9b1a:	e8 d1 18 00 00       	call   0x5bb3f0
5b9b1f:	83 f8 04             	cmp    $0x4,%eax
5b9b22:	0f 85 67 07 00 00    	jne    0x5ba28f
5b9b28:	8b 1b                	mov    (%ebx),%ebx
5b9b2a:	6a 01                	push   $0x1
5b9b2c:	8d 4b 48             	lea    0x48(%ebx),%ecx
5b9b2f:	e8 1c ec e7 ff       	call   0x438750
5b9b34:	50                   	push   %eax
5b9b35:	8d 4b 30             	lea    0x30(%ebx),%ecx
5b9b38:	e8 13 ec e7 ff       	call   0x438750
5b9b3d:	50                   	push   %eax
5b9b3e:	8d 4b 18             	lea    0x18(%ebx),%ecx
5b9b41:	e8 0a ec e7 ff       	call   0x438750
5b9b46:	50                   	push   %eax
5b9b47:	8b cb                	mov    %ebx,%ecx
5b9b49:	e8 02 ec e7 ff       	call   0x438750
5b9b4e:	50                   	push   %eax
5b9b4f:	e8 dc 9e ff ff       	call   0x5b3a30
5b9b54:	8b cf                	mov    %edi,%ecx
5b9b56:	83 c4 14             	add    $0x14,%esp
5b9b59:	89 01                	mov    %eax,(%ecx)
5b9b5b:	e9 4b 07 00 00       	jmp    0x5ba2ab
5b9b60:	6a 01                	push   $0x1
5b9b62:	e8 49 a7 ff ff       	call   0x5b42b0
5b9b67:	83 c4 04             	add    $0x4,%esp
5b9b6a:	89 07                	mov    %eax,(%edi)
5b9b6c:	e9 3a 07 00 00       	jmp    0x5ba2ab
5b9b71:	8b ce                	mov    %esi,%ecx
5b9b73:	e8 98 18 00 00       	call   0x5bb410
5b9b78:	83 f8 01             	cmp    $0x1,%eax
5b9b7b:	0f 85 0e 07 00 00    	jne    0x5ba28f
5b9b81:	8b 0e                	mov    (%esi),%ecx
5b9b83:	e8 68 18 00 00       	call   0x5bb3f0
5b9b88:	83 f8 02             	cmp    $0x2,%eax
5b9b8b:	0f 85 fe 06 00 00    	jne    0x5ba28f
5b9b91:	8d 4d a8             	lea    -0x58(%ebp),%ecx
5b9b94:	e8 d7 df ff ff       	call   0x5b7b70
5b9b99:	8b 06                	mov    (%esi),%eax
5b9b9b:	8d 4d a8             	lea    -0x58(%ebp),%ecx
5b9b9e:	c7 45 fc 10 00 00 00 	movl   $0x10,-0x4(%ebp)
5b9ba5:	ff 30                	push   (%eax)
5b9ba7:	e8 94 b1 e8 ff       	call   0x444d40
5b9bac:	8b 06                	mov    (%esi),%eax
5b9bae:	8d 4d c0             	lea    -0x40(%ebp),%ecx
5b9bb1:	8b 00                	mov    (%eax),%eax
5b9bb3:	83 c0 18             	add    $0x18,%eax
5b9bb6:	50                   	push   %eax
5b9bb7:	e8 84 b1 e8 ff       	call   0x444d40
5b9bbc:	8d 45 a8             	lea    -0x58(%ebp),%eax
5b9bbf:	6a 01                	push   $0x1
5b9bc1:	50                   	push   %eax
5b9bc2:	e8 39 dc 00 00       	call   0x5c7800
5b9bc7:	83 c4 08             	add    $0x8,%esp
5b9bca:	89 07                	mov    %eax,(%edi)
5b9bcc:	c7 85 64 ff ff ff 00 	movl   $0x0,-0x9c(%ebp)
5b9bd3:	00 00 00
5b9bd6:	c7 85 68 ff ff ff 00 	movl   $0x0,-0x98(%ebp)
5b9bdd:	00 00 00
5b9be0:	c7 85 6c ff ff ff 00 	movl   $0x0,-0x94(%ebp)
5b9be7:	00 00 00
5b9bea:	8d 45 a8             	lea    -0x58(%ebp),%eax
5b9bed:	c6 45 fc 11          	movb   $0x11,-0x4(%ebp)
5b9bf1:	50                   	push   %eax
5b9bf2:	6a 00                	push   $0x0
5b9bf4:	8d 8d 64 ff ff ff    	lea    -0x9c(%ebp),%ecx
5b9bfa:	e8 f1 08 e9 ff       	call   0x44a4f0
5b9bff:	8b b5 68 ff ff ff    	mov    -0x98(%ebp),%esi
5b9c05:	8d 45 d8             	lea    -0x28(%ebp),%eax
5b9c08:	8b bd 6c ff ff ff    	mov    -0x94(%ebp),%edi
5b9c0e:	50                   	push   %eax