5bac26:	8d 04 37             	lea    (%edi,%esi,1),%eax
5bac29:	89 8d 74 ff ff ff    	mov    %ecx,-0x8c(%ebp)
5bac2f:	89 31                	mov    %esi,(%ecx)
5bac31:	89 71 04             	mov    %esi,0x4(%ecx)
5bac34:	89 41 08             	mov    %eax,0x8(%ecx)
5bac37:	8b bd 78 ff ff ff    	mov    -0x88(%ebp),%edi
5bac3d:	89 75 e0             	mov    %esi,-0x20(%ebp)
5bac40:	89 75 e4             	mov    %esi,-0x1c(%ebp)
5bac43:	89 4d e8             	mov    %ecx,-0x18(%ebp)
5bac46:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
5bac4a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
5bac50:	57                   	push   %edi
5bac51:	8b ce                	mov    %esi,%ecx
5bac53:	e8 88 4b ff ff       	call   0x5af7e0
5bac58:	83 c6 0c             	add    $0xc,%esi
5bac5b:	83 c7 0c             	add    $0xc,%edi
5bac5e:	89 75 e4             	mov    %esi,-0x1c(%ebp)
5bac61:	3b bd 7c ff ff ff    	cmp    -0x84(%ebp),%edi
5bac67:	75 e7                	jne    0x5bac50
5bac69:	8b 45 8c             	mov    -0x74(%ebp),%eax
5bac6c:	8b bd 7c ff ff ff    	mov    -0x84(%ebp),%edi
5bac72:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
5bac76:	89 70 04             	mov    %esi,0x4(%eax)
5bac79:	8b b5 78 ff ff ff    	mov    -0x88(%ebp),%esi
5bac7f:	ff 75 88             	push   -0x78(%ebp)
5bac82:	e8 39 b0 e8 ff       	call   0x445cc0
5bac87:	83 c4 14             	add    $0x14,%esp
5bac8a:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
5bac8e:	85 f6                	test   %esi,%esi
5bac90:	74 5b                	je     0x5baced
5bac92:	3b f7                	cmp    %edi,%esi
5bac94:	74 0e                	je     0x5baca4
5bac96:	8b ce                	mov    %esi,%ecx
5bac98:	e8 63 a2 e8 ff       	call   0x444f00
5bac9d:	83 c6 0c             	add    $0xc,%esi
5baca0:	3b f7                	cmp    %edi,%esi
5baca2:	75 f2                	jne    0x5bac96
5baca4:	8b 4d 80             	mov    -0x80(%ebp),%ecx
5baca7:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
5bacac:	8b b5 78 ff ff ff    	mov    -0x88(%ebp),%esi
5bacb2:	2b ce                	sub    %esi,%ecx
5bacb4:	f7 e9                	imul   %ecx
5bacb6:	d1 fa                	sar    $1,%edx
5bacb8:	8b c2                	mov    %edx,%eax
5bacba:	c1 e8 1f             	shr    $0x1f,%eax
5bacbd:	03 c2                	add    %edx,%eax
5bacbf:	8d 0c 40             	lea    (%eax,%eax,2),%ecx
5bacc2:	8b c6                	mov    %esi,%eax
5bacc4:	c1 e1 02             	shl    $0x2,%ecx
5bacc7:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
5baccd:	72 14                	jb     0x5bace3
5baccf:	8b 76 fc             	mov    -0x4(%esi),%esi
5bacd2:	83 c1 23             	add    $0x23,%ecx
5bacd5:	2b c6                	sub    %esi,%eax
5bacd7:	83 c0 fc             	add    $0xfffffffc,%eax
5bacda:	83 f8 1f             	cmp    $0x1f,%eax
5bacdd:	0f 87 16 05 00 00    	ja     0x5bb1f9
5bace3:	51                   	push   %ecx
5bace4:	56                   	push   %esi
5bace5:	e8 88 63 02 00       	call   0x5e1072
5bacea:	83 c4 08             	add    $0x8,%esp
5baced:	8b 75 cc             	mov    -0x34(%ebp),%esi
5bacf0:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
5bacf4:	85 f6                	test   %esi,%esi
5bacf6:	0f 84 4a 04 00 00    	je     0x5bb146
5bacfc:	8b 7d d0             	mov    -0x30(%ebp),%edi
5bacff:	3b f7                	cmp    %edi,%esi
5bad01:	74 11                	je     0x5bad14
5bad03:	8b ce                	mov    %esi,%ecx
5bad05:	e8 f6 a1 e8 ff       	call   0x444f00
5bad0a:	83 c6 0c             	add    $0xc,%esi
5bad0d:	3b f7                	cmp    %edi,%esi
5bad0f:	75 f2                	jne    0x5bad03
5bad11:	8b 75 cc             	mov    -0x34(%ebp),%esi
5bad14:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
5bad17:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
5bad1c:	2b ce                	sub    %esi,%ecx
5bad1e:	f7 e9                	imul   %ecx
5bad20:	d1 fa                	sar    $1,%edx
5bad22:	8b c2                	mov    %edx,%eax
5bad24:	c1 e8 1f             	shr    $0x1f,%eax
5bad27:	03 c2                	add    %edx,%eax
5bad29:	8d 0c 40             	lea    (%eax,%eax,2),%ecx
5bad2c:	8b c6                	mov    %esi,%eax
5bad2e:	c1 e1 02             	shl    $0x2,%ecx
5bad31:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
5bad37:	72 14                	jb     0x5bad4d
5bad39:	8b 76 fc             	mov    -0x4(%esi),%esi
5bad3c:	83 c1 23             	add    $0x23,%ecx
5bad3f:	2b c6                	sub    %esi,%eax
5bad41:	83 c0 fc             	add    $0xfffffffc,%eax
5bad44:	83 f8 1f             	cmp    $0x1f,%eax
5bad47:	0f 87 ac 04 00 00    	ja     0x5bb1f9
5bad4d:	51                   	push   %ecx
5bad4e:	56                   	push   %esi
5bad4f:	e8 1e 63 02 00       	call   0x5e1072
5bad54:	83 c4 08             	add    $0x8,%esp
5bad57:	e9 ea 03 00 00       	jmp    0x5bb146
5bad5c:	c7 45 cc 00 00 00 00 	movl   $0x0,-0x34(%ebp)
5bad63:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
5bad6a:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
5bad71:	8d 45 cc             	lea    -0x34(%ebp),%eax
5bad74:	c6 45 fc 06          	movb   $0x6,-0x4(%ebp)
5bad78:	50                   	push   %eax
5bad79:	8d 85 74 ff ff ff    	lea    -0x8c(%ebp),%eax
5bad7f:	50                   	push   %eax
5bad80:	83 ec 18             	sub    $0x18,%esp
5bad83:	8d 45 90             	lea    -0x70(%ebp),%eax
5bad86:	8b cc                	mov    %esp,%ecx
5bad88:	50                   	push   %eax
5bad89:	e8 12 20 e8 ff       	call   0x43cda0
5bad8e:	e8 0d b6 e8 ff       	call   0x4463a0
5bad93:	83 c4 20             	add    $0x20,%esp
5bad96:	c7 85 78 ff ff ff 00 	movl   $0x0,-0x88(%ebp)
5bad9d:	00 00 00
5bada0:	c7 85 7c ff ff ff 00 	movl   $0x0,-0x84(%ebp)
5bada7:	00 00 00
5badaa:	c7 45 80 00 00 00 00 	movl   $0x0,-0x80(%ebp)
5badb1:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
5badb7:	c6 45 fc 07          	movb   $0x7,-0x4(%ebp)
5badbb:	50                   	push   %eax
5badbc:	8d 45 84             	lea    -0x7c(%ebp),%eax
5badbf:	50                   	push   %eax
5badc0:	83 ec 0c             	sub    $0xc,%esp
5badc3:	8b c4                	mov    %esp,%eax
5badc5:	89 45 8c             	mov    %eax,-0x74(%ebp)
5badc8:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
5badce:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
5badd5:	c7 40 08 00 00 00 00 	movl   $0x0,0x8(%eax)
5baddc:	8b 45 d0             	mov    -0x30(%ebp),%eax
5baddf:	8b 7d cc             	mov    -0x34(%ebp),%edi
5bade2:	89 45 88             	mov    %eax,-0x78(%ebp)
5bade5:	3b f8                	cmp    %eax,%edi
5bade7:	0f 84 aa 00 00 00    	je     0x5bae97
5baded:	8b c8                	mov    %eax,%ecx
5badef:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
5badf4:	2b cf                	sub    %edi,%ecx
5badf6:	f7 e9                	imul   %ecx
5badf8:	d1 fa                	sar    $1,%edx
5badfa:	8b c2                	mov    %edx,%eax
5badfc:	c1 e8 1f             	shr    $0x1f,%eax
5badff:	03 c2                	add    %edx,%eax
5bae01:	3d 55 55 55 15       	cmp    $0x15555555,%eax
5bae06:	0f 87 f2 03 00 00    	ja     0x5bb1fe
5bae0c:	8d 34 40             	lea    (%eax,%eax,2),%esi
5bae0f:	c1 e6 02             	shl    $0x2,%esi
5bae12:	89 75 84             	mov    %esi,-0x7c(%ebp)
5bae15:	81 fe 00 10 00 00    	cmp    $0x1000,%esi
5bae1b:	72 27                	jb     0x5bae44
5bae1d:	8d 46 23             	lea    0x23(%esi),%eax
5bae20:	3b c6                	cmp    %esi,%eax
5bae22:	0f 86 d6 03 00 00    	jbe    0x5bb1fe
5bae28:	50                   	push   %eax
5bae29:	e8 14 62 02 00       	call   0x5e1042
5bae2e:	83 c4 04             	add    $0x4,%esp
5bae31:	85 c0                	test   %eax,%eax
5bae33:	0f 84 c0 03 00 00    	je     0x5bb1f9
5bae39:	8d 70 23             	lea    0x23(%eax),%esi
5bae3c:	83 e6 e0             	and    $0xffffffe0,%esi
5bae3f:	89 46 fc             	mov    %eax,-0x4(%esi)
5bae42:	eb 13                	jmp    0x5bae57
5bae44:	85 f6                	test   %esi,%esi
5bae46:	74 0d                	je     0x5bae55
5bae48:	56                   	push   %esi
5bae49:	e8 f4 61 02 00       	call   0x5e1042
5bae4e:	83 c4 04             	add    $0x4,%esp
5bae51:	8b f0                	mov    %eax,%esi
5bae53:	eb 02                	jmp    0x5bae57
5bae55:	33 f6                	xor    %esi,%esi
5bae57:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
5bae5a:	8b 45 84             	mov    -0x7c(%ebp),%eax
5bae5d:	03 c6                	add    %esi,%eax
5bae5f:	89 4d 84             	mov    %ecx,-0x7c(%ebp)
5bae62:	89 31                	mov    %esi,(%ecx)
5bae64:	89 71 04             	mov    %esi,0x4(%ecx)
5bae67:	89 41 08             	mov    %eax,0x8(%ecx)
5bae6a:	89 75 e0             	mov    %esi,-0x20(%ebp)
5bae6d:	89 75 e4             	mov    %esi,-0x1c(%ebp)
5bae70:	89 4d e8             	mov    %ecx,-0x18(%ebp)
5bae73:	c6 45 fc 09          	movb   $0x9,-0x4(%ebp)
5bae77:	57                   	push   %edi
5bae78:	8b ce                	mov    %esi,%ecx
5bae7a:	e8 61 49 ff ff       	call   0x5af7e0
5bae7f:	83 c6 0c             	add    $0xc,%esi
5bae82:	83 c7 0c             	add    $0xc,%edi
5bae85:	89 75 e4             	mov    %esi,-0x1c(%ebp)
5bae88:	3b 7d 88             	cmp    -0x78(%ebp),%edi
5bae8b:	75 ea                	jne    0x5bae77
5bae8d:	8b 45 8c             	mov    -0x74(%ebp),%eax
5bae90:	c6 45 fc 07          	movb   $0x7,-0x4(%ebp)
5bae94:	89 70 04             	mov    %esi,0x4(%eax)
5bae97:	ff b5 74 ff ff ff    	push   -0x8c(%ebp)
5bae9d:	e8 7e f4 ff ff       	call   0x5ba320
5baea2:	8b b5 78 ff ff ff    	mov    -0x88(%ebp),%esi
5baea8:	8d 45 a8             	lea    -0x58(%ebp),%eax
5baeab:	8b bd 7c ff ff ff    	mov    -0x84(%ebp),%edi
5baeb1:	83 c4 18             	add    $0x18,%esp
5baeb4:	50                   	push   %eax
5baeb5:	83 ec 0c             	sub    $0xc,%esp
5baeb8:	8b c4                	mov    %esp,%eax
5baeba:	89 45 8c             	mov    %eax,-0x74(%ebp)
5baebd:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
5baec3:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
5baeca:	c7 40 08 00 00 00 00 	movl   $0x0,0x8(%eax)
5baed1:	3b f7                	cmp    %edi,%esi
5baed3:	0f 84 ba 00 00 00    	je     0x5baf93
5baed9:	8b cf                	mov    %edi,%ecx
5baedb:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
5baee0:	2b ce                	sub    %esi,%ecx
5baee2:	f7 e9                	imul   %ecx
5baee4:	d1 fa                	sar    $1,%edx
5baee6:	8b c2                	mov    %edx,%eax
5baee8:	c1 e8 1f             	shr    $0x1f,%eax
5baeeb:	03 c2                	add    %edx,%eax
5baeed:	3d 55 55 55 15       	cmp    $0x15555555,%eax
5baef2:	0f 87 06 03 00 00    	ja     0x5bb1fe
5baef8:	8d 3c 40             	lea    (%eax,%eax,2),%edi
5baefb:	c1 e7 02             	shl    $0x2,%edi
5baefe:	81 ff 00 10 00 00    	cmp    $0x1000,%edi
5baf04:	72 27                	jb     0x5baf2d
5baf06:	8d 47 23             	lea    0x23(%edi),%eax
5baf09:	3b c7                	cmp    %edi,%eax
5baf0b:	0f 86 ed 02 00 00    	jbe    0x5bb1fe
5baf11:	50                   	push   %eax
5baf12:	e8 2b 61 02 00       	call   0x5e1042
5baf17:	83 c4 04             	add    $0x4,%esp
5baf1a:	85 c0                	test   %eax,%eax
5baf1c:	0f 84 d7 02 00 00    	je     0x5bb1f9
5baf22:	8d 70 23             	lea    0x23(%eax),%esi
5baf25:	83 e6 e0             	and    $0xffffffe0,%esi
5baf28:	89 46 fc             	mov    %eax,-0x4(%esi)
5baf2b:	eb 13                	jmp    0x5baf40
5baf2d:	85 ff                	test   %edi,%edi
5baf2f:	74 0d                	je     0x5baf3e
5baf31:	57                   	push   %edi
5baf32:	e8 0b 61 02 00       	call   0x5e1042
5baf37:	83 c4 04             	add    $0x4,%esp
5baf3a:	8b f0                	mov    %eax,%esi
5baf3c:	eb 02                	jmp    0x5baf40
5baf3e:	33 f6                	xor    %esi,%esi
5baf40:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
5baf43:	8d 04 37             	lea    (%edi,%esi,1),%eax
5baf46:	89 4d 88             	mov    %ecx,-0x78(%ebp)
5baf49:	89 31                	mov    %esi,(%ecx)
5baf4b:	89 71 04             	mov    %esi,0x4(%ecx)
5baf4e:	89 41 08             	mov    %eax,0x8(%ecx)
5baf51:	8b bd 78 ff ff ff    	mov    -0x88(%ebp),%edi
5baf57:	89 75 e0             	mov    %esi,-0x20(%ebp)
5baf5a:	89 75 e4             	mov    %esi,-0x1c(%ebp)
5baf5d:	89 4d e8             	mov    %ecx,-0x18(%ebp)
5baf60:	c6 45 fc 0b          	movb   $0xb,-0x4(%ebp)
5baf64:	57                   	push   %edi
5baf65:	8b ce                	mov    %esi,%ecx
5baf67:	e8 74 48 ff ff       	call   0x5af7e0
5baf6c:	83 c6 0c             	add    $0xc,%esi
5baf6f:	83 c7 0c             	add    $0xc,%edi
5baf72:	89 75 e4             	mov    %esi,-0x1c(%ebp)
5baf75:	3b bd 7c ff ff ff    	cmp    -0x84(%ebp),%edi
5baf7b:	75 e7                	jne    0x5baf64
5baf7d:	8b 45 8c             	mov    -0x74(%ebp),%eax
5baf80:	8b bd 7c ff ff ff    	mov    -0x84(%ebp),%edi
5baf86:	c6 45 fc 07          	movb   $0x7,-0x4(%ebp)
5baf8a:	89 70 04             	mov    %esi,0x4(%eax)
5baf8d:	8b b5 78 ff ff ff    	mov    -0x88(%ebp),%esi
5baf93:	ff 75 84             	push   -0x7c(%ebp)
5baf96:	e8 25 ad e8 ff       	call   0x445cc0
5baf9b:	83 c4 14             	add    $0x14,%esp
5baf9e:	85 f6                	test   %esi,%esi
5bafa0:	74 3a                	je     0x5bafdc
5bafa2:	3b f7                	cmp    %edi,%esi
5bafa4:	74 0e                	je     0x5bafb4
5bafa6:	8b ce                	mov    %esi,%ecx
5bafa8:	e8 53 9f e8 ff       	call   0x444f00
5bafad:	83 c6 0c             	add    $0xc,%esi
5bafb0:	3b f7                	cmp    %edi,%esi
5bafb2:	75 f2                	jne    0x5bafa6
5bafb4:	8b 4d 80             	mov    -0x80(%ebp),%ecx
5bafb7:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
5bafbc:	8b bd 78 ff ff ff    	mov    -0x88(%ebp),%edi
5bafc2:	2b cf                	sub    %edi,%ecx
5bafc4:	f7 e9                	imul   %ecx
5bafc6:	8d 8d 78 ff ff ff    	lea    -0x88(%ebp),%ecx
5bafcc:	d1 fa                	sar    $1,%edx
5bafce:	8b c2                	mov    %edx,%eax
5bafd0:	c1 e8 1f             	shr    $0x1f,%eax
5bafd3:	03 c2                	add    %edx,%eax
5bafd5:	50                   	push   %eax
5bafd6:	57                   	push   %edi
5bafd7:	e8 74 a4 e8 ff       	call   0x445450
5bafdc:	8b 75 cc             	mov    -0x34(%ebp),%esi
5bafdf:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
5bafe3:	85 f6                	test   %esi,%esi
5bafe5:	0f 84 5b 01 00 00    	je     0x5bb146
5bafeb:	8b 7d d0             	mov    -0x30(%ebp),%edi
5bafee:	3b f7                	cmp    %edi,%esi
5baff0:	74 11                	je     0x5bb003
5baff2:	8b ce                	mov    %esi,%ecx
5baff4:	e8 07 9f e8 ff       	call   0x444f00
5baff9:	83 c6 0c             	add    $0xc,%esi
5baffc:	3b f7                	cmp    %edi,%esi
5baffe:	75 f2                	jne    0x5baff2
5bb000:	8b 75 cc             	mov    -0x34(%ebp),%esi
5bb003:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
5bb006:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
5bb00b:	2b ce                	sub    %esi,%ecx
5bb00d:	f7 e9                	imul   %ecx
5bb00f:	8d 4d cc             	lea    -0x34(%ebp),%ecx
5bb012:	e9 1f 01 00 00       	jmp    0x5bb136
5bb017:	c7 85 78 ff ff ff 00 	movl   $0x0,-0x88(%ebp)
5bb01e:	00 00 00
5bb021:	c7 85 7c ff ff ff 00 	movl   $0x0,-0x84(%ebp)
5bb028:	00 00 00
5bb02b:	c7 45 80 00 00 00 00 	movl   $0x0,-0x80(%ebp)
5bb032:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
5bb038:	c6 45 fc 0c          	movb   $0xc,-0x4(%ebp)
5bb03c:	50                   	push   %eax
5bb03d:	8d 45 84             	lea    -0x7c(%ebp),%eax
5bb040:	50                   	push   %eax
5bb041:	83 ec 18             	sub    $0x18,%esp
5bb044:	8d 45 90             	lea    -0x70(%ebp),%eax
5bb047:	8b cc                	mov    %esp,%ecx
5bb049:	50                   	push   %eax
5bb04a:	e8 51 1d e8 ff       	call   0x43cda0
5bb04f:	e8 4c b3 e8 ff       	call   0x4463a0
5bb054:	83 c4 20             	add    $0x20,%esp
5bb057:	c7 45 cc 00 00 00 00 	movl   $0x0,-0x34(%ebp)
5bb05e:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
5bb065:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
5bb06c:	8d 45 cc             	lea    -0x34(%ebp),%eax
5bb06f:	c6 45 fc 0d          	movb   $0xd,-0x4(%ebp)
5bb073:	50                   	push   %eax
5bb074:	8d 45 8c             	lea    -0x74(%ebp),%eax
5bb077:	50                   	push   %eax
5bb078:	83 ec 0c             	sub    $0xc,%esp
5bb07b:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
5bb081:	8b cc                	mov    %esp,%ecx
5bb083:	50                   	push   %eax
5bb084:	e8 f7 c9 ff ff       	call   0x5b7a80
5bb089:	ff 75 84             	push   -0x7c(%ebp)
5bb08c:	e8 9f da ff ff       	call   0x5b8b30
5bb091:	83 c4 18             	add    $0x18,%esp
5bb094:	8d 45 a8             	lea    -0x58(%ebp),%eax
5bb097:	50                   	push   %eax
5bb098:	83 ec 0c             	sub    $0xc,%esp
5bb09b:	8d 45 cc             	lea    -0x34(%ebp),%eax
5bb09e:	8b cc                	mov    %esp,%ecx
5bb0a0:	50                   	push   %eax
5bb0a1:	e8 da c9 ff ff       	call   0x5b7a80
5bb0a6:	ff 75 8c             	push   -0x74(%ebp)
5bb0a9:	e8 12 ac e8 ff       	call   0x445cc0