5b7f1a:	c1 e8 1f             	shr    $0x1f,%eax
5b7f1d:	03 c2                	add    %edx,%eax
5b7f1f:	83 f8 02             	cmp    $0x2,%eax
5b7f22:	0f 85 7a 0a 00 00    	jne    0x5b89a2
5b7f28:	6a 40                	push   $0x40
5b7f2a:	8d 45 b0             	lea    -0x50(%ebp),%eax
5b7f2d:	6a 00                	push   $0x0
5b7f2f:	50                   	push   %eax
5b7f30:	e8 cb ba 02 00       	call   0x5e3a00
5b7f35:	8d 47 18             	lea    0x18(%edi),%eax
5b7f38:	83 c4 0c             	add    $0xc,%esp
5b7f3b:	83 78 14 10          	cmpl   $0x10,0x14(%eax)
5b7f3f:	72 02                	jb     0x5b7f43
5b7f41:	8b 00                	mov    (%eax),%eax
5b7f43:	83 7f 14 10          	cmpl   $0x10,0x14(%edi)
5b7f47:	72 02                	jb     0x5b7f4b
5b7f49:	8b 3f                	mov    (%edi),%edi
5b7f4b:	50                   	push   %eax
5b7f4c:	57                   	push   %edi
5b7f4d:	6a 40                	push   $0x40
5b7f4f:	8d 45 b0             	lea    -0x50(%ebp),%eax
5b7f52:	50                   	push   %eax
5b7f53:	53                   	push   %ebx
5b7f54:	e8 d7 eb 00 00       	call   0x5c6b30
5b7f59:	8d 4d b0             	lea    -0x50(%ebp),%ecx
5b7f5c:	c7 45 a8 00 00 00 00 	movl   $0x0,-0x58(%ebp)
5b7f63:	83 c4 14             	add    $0x14,%esp
5b7f66:	c7 45 ac 0f 00 00 00 	movl   $0xf,-0x54(%ebp)
5b7f6d:	8b f8                	mov    %eax,%edi
5b7f6f:	c6 45 98 00          	movb   $0x0,-0x68(%ebp)
5b7f73:	8d 51 01             	lea    0x1(%ecx),%edx
5b7f76:	8a 01                	mov    (%ecx),%al
5b7f78:	41                   	inc    %ecx
5b7f79:	84 c0                	test   %al,%al
5b7f7b:	75 f9                	jne    0x5b7f76
5b7f7d:	2b ca                	sub    %edx,%ecx
5b7f7f:	8d 45 b0             	lea    -0x50(%ebp),%eax
5b7f82:	51                   	push   %ecx
5b7f83:	50                   	push   %eax
5b7f84:	8d 4d 98             	lea    -0x68(%ebp),%ecx
5b7f87:	e8 b4 d2 e8 ff       	call   0x445240
5b7f8c:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
5b7f90:	e9 25 ff ff ff       	jmp    0x5b7eba
5b7f95:	8b 4e 1c             	mov    0x1c(%esi),%ecx
5b7f98:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
5b7f9d:	8b 7e 18             	mov    0x18(%esi),%edi
5b7fa0:	2b cf                	sub    %edi,%ecx
5b7fa2:	f7 e9                	imul   %ecx
5b7fa4:	c1 fa 02             	sar    $0x2,%edx
5b7fa7:	8b c2                	mov    %edx,%eax
5b7fa9:	c1 e8 1f             	shr    $0x1f,%eax
5b7fac:	03 c2                	add    %edx,%eax
5b7fae:	83 f8 04             	cmp    $0x4,%eax
5b7fb1:	0f 85 eb 09 00 00    	jne    0x5b89a2
5b7fb7:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
5b7fbd:	50                   	push   %eax
5b7fbe:	83 ec 18             	sub    $0x18,%esp
5b7fc1:	8d 47 48             	lea    0x48(%edi),%eax
5b7fc4:	8b cc                	mov    %esp,%ecx
5b7fc6:	50                   	push   %eax
5b7fc7:	e8 d4 4d e8 ff       	call   0x43cda0
5b7fcc:	e8 5f 34 00 00       	call   0x5bb430
5b7fd1:	83 c4 1c             	add    $0x1c,%esp
5b7fd4:	84 c0                	test   %al,%al
5b7fd6:	0f 84 c6 09 00 00    	je     0x5b89a2
5b7fdc:	6a 40                	push   $0x40
5b7fde:	8d 45 b0             	lea    -0x50(%ebp),%eax
5b7fe1:	6a 00                	push   $0x0
5b7fe3:	50                   	push   %eax
5b7fe4:	e8 17 ba 02 00       	call   0x5e3a00
5b7fe9:	8b 46 18             	mov    0x18(%esi),%eax
5b7fec:	83 c4 0c             	add    $0xc,%esp
5b7fef:	83 78 44 10          	cmpl   $0x10,0x44(%eax)
5b7ff3:	8d 50 30             	lea    0x30(%eax),%edx
5b7ff6:	72 02                	jb     0x5b7ffa
5b7ff8:	8b 12                	mov    (%edx),%edx
5b7ffa:	83 78 2c 10          	cmpl   $0x10,0x2c(%eax)
5b7ffe:	8d 48 18             	lea    0x18(%eax),%ecx
5b8001:	72 02                	jb     0x5b8005
5b8003:	8b 09                	mov    (%ecx),%ecx
5b8005:	83 78 14 10          	cmpl   $0x10,0x14(%eax)
5b8009:	72 02                	jb     0x5b800d
5b800b:	8b 00                	mov    (%eax),%eax
5b800d:	ff b5 7c ff ff ff    	push   -0x84(%ebp)
5b8013:	52                   	push   %edx
5b8014:	51                   	push   %ecx
5b8015:	50                   	push   %eax
5b8016:	6a 40                	push   $0x40
5b8018:	8d 45 b0             	lea    -0x50(%ebp),%eax
5b801b:	50                   	push   %eax
5b801c:	53                   	push   %ebx
5b801d:	e8 de f2 00 00       	call   0x5c7300
5b8022:	8d 4d b0             	lea    -0x50(%ebp),%ecx
5b8025:	c7 45 a8 00 00 00 00 	movl   $0x0,-0x58(%ebp)
5b802c:	83 c4 1c             	add    $0x1c,%esp
5b802f:	c7 45 ac 0f 00 00 00 	movl   $0xf,-0x54(%ebp)
5b8036:	8b f8                	mov    %eax,%edi
5b8038:	c6 45 98 00          	movb   $0x0,-0x68(%ebp)
5b803c:	8d 51 01             	lea    0x1(%ecx),%edx
5b803f:	90                   	nop
5b8040:	8a 01                	mov    (%ecx),%al
5b8042:	41                   	inc    %ecx
5b8043:	84 c0                	test   %al,%al
5b8045:	75 f9                	jne    0x5b8040
5b8047:	2b ca                	sub    %edx,%ecx
5b8049:	8d 45 b0             	lea    -0x50(%ebp),%eax
5b804c:	51                   	push   %ecx
5b804d:	50                   	push   %eax
5b804e:	8d 4d 98             	lea    -0x68(%ebp),%ecx
5b8051:	e8 ea d1 e8 ff       	call   0x445240
5b8056:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
5b805a:	e9 5b fe ff ff       	jmp    0x5b7eba
5b805f:	8b 4e 1c             	mov    0x1c(%esi),%ecx
5b8062:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
5b8067:	8b 7e 18             	mov    0x18(%esi),%edi
5b806a:	2b cf                	sub    %edi,%ecx
5b806c:	f7 e9                	imul   %ecx
5b806e:	c1 fa 02             	sar    $0x2,%edx
5b8071:	8b c2                	mov    %edx,%eax
5b8073:	c1 e8 1f             	shr    $0x1f,%eax
5b8076:	03 c2                	add    %edx,%eax
5b8078:	83 f8 04             	cmp    $0x4,%eax
5b807b:	0f 85 21 09 00 00    	jne    0x5b89a2
5b8081:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
5b8087:	50                   	push   %eax
5b8088:	83 ec 18             	sub    $0x18,%esp
5b808b:	8d 47 48             	lea    0x48(%edi),%eax
5b808e:	8b cc                	mov    %esp,%ecx
5b8090:	50                   	push   %eax
5b8091:	e8 0a 4d e8 ff       	call   0x43cda0
5b8096:	e8 95 33 00 00       	call   0x5bb430
5b809b:	83 c4 1c             	add    $0x1c,%esp
5b809e:	84 c0                	test   %al,%al
5b80a0:	0f 84 fc 08 00 00    	je     0x5b89a2
5b80a6:	6a 40                	push   $0x40
5b80a8:	8d 45 b0             	lea    -0x50(%ebp),%eax
5b80ab:	6a 00                	push   $0x0
5b80ad:	50                   	push   %eax
5b80ae:	e8 4d b9 02 00       	call   0x5e3a00
5b80b3:	8b 46 18             	mov    0x18(%esi),%eax
5b80b6:	83 c4 0c             	add    $0xc,%esp
5b80b9:	83 78 44 10          	cmpl   $0x10,0x44(%eax)
5b80bd:	8d 50 30             	lea    0x30(%eax),%edx
5b80c0:	72 02                	jb     0x5b80c4
5b80c2:	8b 12                	mov    (%edx),%edx
5b80c4:	83 78 2c 10          	cmpl   $0x10,0x2c(%eax)
5b80c8:	8d 48 18             	lea    0x18(%eax),%ecx
5b80cb:	72 02                	jb     0x5b80cf
5b80cd:	8b 09                	mov    (%ecx),%ecx
5b80cf:	83 78 14 10          	cmpl   $0x10,0x14(%eax)
5b80d3:	72 02                	jb     0x5b80d7
5b80d5:	8b 00                	mov    (%eax),%eax
5b80d7:	ff b5 7c ff ff ff    	push   -0x84(%ebp)
5b80dd:	52                   	push   %edx
5b80de:	51                   	push   %ecx
5b80df:	50                   	push   %eax
5b80e0:	6a 40                	push   $0x40
5b80e2:	8d 45 b0             	lea    -0x50(%ebp),%eax
5b80e5:	50                   	push   %eax
5b80e6:	53                   	push   %ebx
5b80e7:	e8 04 ec 00 00       	call   0x5c6cf0
5b80ec:	8d 4d b0             	lea    -0x50(%ebp),%ecx
5b80ef:	c7 45 a8 00 00 00 00 	movl   $0x0,-0x58(%ebp)
5b80f6:	83 c4 1c             	add    $0x1c,%esp
5b80f9:	c7 45 ac 0f 00 00 00 	movl   $0xf,-0x54(%ebp)
5b8100:	8b f8                	mov    %eax,%edi
5b8102:	c6 45 98 00          	movb   $0x0,-0x68(%ebp)
5b8106:	8d 51 01             	lea    0x1(%ecx),%edx
5b8109:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
5b8110:	8a 01                	mov    (%ecx),%al
5b8112:	41                   	inc    %ecx
5b8113:	84 c0                	test   %al,%al
5b8115:	75 f9                	jne    0x5b8110
5b8117:	2b ca                	sub    %edx,%ecx
5b8119:	8d 45 b0             	lea    -0x50(%ebp),%eax
5b811c:	51                   	push   %ecx
5b811d:	50                   	push   %eax
5b811e:	8d 4d 98             	lea    -0x68(%ebp),%ecx
5b8121:	e8 1a d1 e8 ff       	call   0x445240
5b8126:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
5b812a:	e9 8b fd ff ff       	jmp    0x5b7eba
5b812f:	8b 4e 1c             	mov    0x1c(%esi),%ecx
5b8132:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
5b8137:	8b 7e 18             	mov    0x18(%esi),%edi
5b813a:	2b cf                	sub    %edi,%ecx
5b813c:	f7 e9                	imul   %ecx
5b813e:	c1 fa 02             	sar    $0x2,%edx
5b8141:	8b c2                	mov    %edx,%eax
5b8143:	c1 e8 1f             	shr    $0x1f,%eax
5b8146:	03 c2                	add    %edx,%eax
5b8148:	83 f8 04             	cmp    $0x4,%eax
5b814b:	0f 85 51 08 00 00    	jne    0x5b89a2
5b8151:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
5b8157:	50                   	push   %eax
5b8158:	83 ec 18             	sub    $0x18,%esp
5b815b:	8d 47 48             	lea    0x48(%edi),%eax
5b815e:	8b cc                	mov    %esp,%ecx
5b8160:	50                   	push   %eax
5b8161:	e8 3a 4c e8 ff       	call   0x43cda0
5b8166:	e8 c5 32 00 00       	call   0x5bb430
5b816b:	83 c4 1c             	add    $0x1c,%esp
5b816e:	84 c0                	test   %al,%al
5b8170:	0f 84 2c 08 00 00    	je     0x5b89a2
5b8176:	8b 46 18             	mov    0x18(%esi),%eax
5b8179:	83 78 44 10          	cmpl   $0x10,0x44(%eax)
5b817d:	8d 48 30             	lea    0x30(%eax),%ecx
5b8180:	72 02                	jb     0x5b8184
5b8182:	8b 09                	mov    (%ecx),%ecx
5b8184:	83 78 2c 10          	cmpl   $0x10,0x2c(%eax)
5b8188:	8d 50 18             	lea    0x18(%eax),%edx
5b818b:	72 02                	jb     0x5b818f
5b818d:	8b 12                	mov    (%edx),%edx
5b818f:	83 78 14 10          	cmpl   $0x10,0x14(%eax)
5b8193:	72 02                	jb     0x5b8197
5b8195:	8b 00                	mov    (%eax),%eax
5b8197:	ff b5 7c ff ff ff    	push   -0x84(%ebp)
5b819d:	51                   	push   %ecx
5b819e:	52                   	push   %edx
5b819f:	50                   	push   %eax
5b81a0:	53                   	push   %ebx
5b81a1:	e8 ea e5 00 00       	call   0x5c6790
5b81a6:	83 c4 14             	add    $0x14,%esp
5b81a9:	8b f8                	mov    %eax,%edi
5b81ab:	e9 d9 07 00 00       	jmp    0x5b8989
5b81b0:	8b 4e 1c             	mov    0x1c(%esi),%ecx
5b81b3:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
5b81b8:	8b 7e 18             	mov    0x18(%esi),%edi
5b81bb:	2b cf                	sub    %edi,%ecx
5b81bd:	f7 e9                	imul   %ecx
5b81bf:	c1 fa 02             	sar    $0x2,%edx
5b81c2:	8b c2                	mov    %edx,%eax
5b81c4:	c1 e8 1f             	shr    $0x1f,%eax
5b81c7:	03 c2                	add    %edx,%eax
5b81c9:	83 f8 02             	cmp    $0x2,%eax
5b81cc:	0f 85 d0 07 00 00    	jne    0x5b89a2
5b81d2:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
5b81d8:	50                   	push   %eax
5b81d9:	83 ec 18             	sub    $0x18,%esp
5b81dc:	8d 47 18             	lea    0x18(%edi),%eax
5b81df:	8b cc                	mov    %esp,%ecx
5b81e1:	50                   	push   %eax
5b81e2:	e8 b9 4b e8 ff       	call   0x43cda0
5b81e7:	e8 44 32 00 00       	call   0x5bb430
5b81ec:	83 c4 1c             	add    $0x1c,%esp
5b81ef:	84 c0                	test   %al,%al
5b81f1:	0f 84 ab 07 00 00    	je     0x5b89a2
5b81f7:	e8 84 ae ed ff       	call   0x493080
5b81fc:	8b 4e 18             	mov    0x18(%esi),%ecx
5b81ff:	8b d8                	mov    %eax,%ebx
5b8201:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
5b8205:	72 02                	jb     0x5b8209
5b8207:	8b 09                	mov    (%ecx),%ecx
5b8209:	ff b5 7c ff ff ff    	push   -0x84(%ebp)
5b820f:	51                   	push   %ecx
5b8210:	53                   	push   %ebx
5b8211:	ff b5 78 ff ff ff    	push   -0x88(%ebp)
5b8217:	e8 24 d6 00 00       	call   0x5c5840
5b821c:	8b f8                	mov    %eax,%edi
5b821e:	8d 85 6c ff ff ff    	lea    -0x94(%ebp),%eax
5b8224:	50                   	push   %eax
5b8225:	53                   	push   %ebx
5b8226:	e8 85 30 00 00       	call   0x5bb2b0
5b822b:	53                   	push   %ebx
5b822c:	e8 5f 50 ed ff       	call   0x48d290
5b8231:	8b 9d 78 ff ff ff    	mov    -0x88(%ebp),%ebx
5b8237:	83 c4 1c             	add    $0x1c,%esp
5b823a:	e9 4a 07 00 00       	jmp    0x5b8989
5b823f:	8b 4e 1c             	mov    0x1c(%esi),%ecx
5b8242:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
5b8247:	8b 7e 18             	mov    0x18(%esi),%edi
5b824a:	2b cf                	sub    %edi,%ecx
5b824c:	f7 e9                	imul   %ecx
5b824e:	c1 fa 02             	sar    $0x2,%edx
5b8251:	8b c2                	mov    %edx,%eax
5b8253:	c1 e8 1f             	shr    $0x1f,%eax
5b8256:	03 c2                	add    %edx,%eax
5b8258:	83 f8 02             	cmp    $0x2,%eax
5b825b:	0f 85 41 07 00 00    	jne    0x5b89a2
5b8261:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
5b8267:	50                   	push   %eax
5b8268:	83 ec 18             	sub    $0x18,%esp
5b826b:	8d 47 18             	lea    0x18(%edi),%eax
5b826e:	8b cc                	mov    %esp,%ecx
5b8270:	50                   	push   %eax
5b8271:	e8 2a 4b e8 ff       	call   0x43cda0
5b8276:	e8 b5 31 00 00       	call   0x5bb430
5b827b:	83 c4 1c             	add    $0x1c,%esp
5b827e:	84 c0                	test   %al,%al
5b8280:	0f 84 1c 07 00 00    	je     0x5b89a2
5b8286:	e8 f5 ad ed ff       	call   0x493080
5b828b:	8b 4e 18             	mov    0x18(%esi),%ecx
5b828e:	8b d8                	mov    %eax,%ebx
5b8290:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
5b8294:	72 02                	jb     0x5b8298
5b8296:	8b 09                	mov    (%ecx),%ecx
5b8298:	ff b5 7c ff ff ff    	push   -0x84(%ebp)
5b829e:	51                   	push   %ecx
5b829f:	53                   	push   %ebx
5b82a0:	ff b5 78 ff ff ff    	push   -0x88(%ebp)
5b82a6:	e8 35 d3 00 00       	call   0x5c55e0
5b82ab:	e9 6c ff ff ff       	jmp    0x5b821c
5b82b0:	8b 4e 1c             	mov    0x1c(%esi),%ecx
5b82b3:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
5b82b8:	8b 7e 18             	mov    0x18(%esi),%edi
5b82bb:	2b cf                	sub    %edi,%ecx
5b82bd:	f7 e9                	imul   %ecx
5b82bf:	c1 fa 02             	sar    $0x2,%edx
5b82c2:	8b c2                	mov    %edx,%eax
5b82c4:	c1 e8 1f             	shr    $0x1f,%eax
5b82c7:	03 c2                	add    %edx,%eax
5b82c9:	83 f8 03             	cmp    $0x3,%eax
5b82cc:	0f 85 d0 06 00 00    	jne    0x5b89a2
5b82d2:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
5b82d8:	50                   	push   %eax
5b82d9:	83 ec 18             	sub    $0x18,%esp
5b82dc:	8d 47 30             	lea    0x30(%edi),%eax
5b82df:	8b cc                	mov    %esp,%ecx
5b82e1:	50                   	push   %eax
5b82e2:	e8 b9 4a e8 ff       	call   0x43cda0
5b82e7:	e8 44 31 00 00       	call   0x5bb430
5b82ec:	83 c4 1c             	add    $0x1c,%esp
5b82ef:	84 c0                	test   %al,%al
5b82f1:	0f 84 ab 06 00 00    	je     0x5b89a2
5b82f7:	e8 84 ad ed ff       	call   0x493080
5b82fc:	8b 4e 18             	mov    0x18(%esi),%ecx
5b82ff:	8b d8                	mov    %eax,%ebx
5b8301:	83 79 2c 10          	cmpl   $0x10,0x2c(%ecx)
5b8305:	8d 51 18             	lea    0x18(%ecx),%edx
5b8308:	72 02                	jb     0x5b830c
5b830a:	8b 12                	mov    (%edx),%edx
5b830c:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
5b8310:	72 02                	jb     0x5b8314
5b8312:	8b 09                	mov    (%ecx),%ecx
5b8314:	ff b5 7c ff ff ff    	push   -0x84(%ebp)
5b831a:	52                   	push   %edx
5b831b:	51                   	push   %ecx
5b831c:	53                   	push   %ebx
5b831d:	ff b5 78 ff ff ff    	push   -0x88(%ebp)
5b8323:	e8 38 d0 00 00       	call   0x5c5360
5b8328:	8b f8                	mov    %eax,%edi
5b832a:	8d 85 6c ff ff ff    	lea    -0x94(%ebp),%eax
5b8330:	50                   	push   %eax
5b8331:	53                   	push   %ebx
5b8332:	e8 79 2f 00 00       	call   0x5bb2b0
5b8337:	53                   	push   %ebx
5b8338:	e8 53 4f ed ff       	call   0x48d290
5b833d:	8b 9d 78 ff ff ff    	mov    -0x88(%ebp),%ebx
5b8343:	83 c4 20             	add    $0x20,%esp
5b8346:	e9 3e 06 00 00       	jmp    0x5b8989
5b834b:	8b 4e 1c             	mov    0x1c(%esi),%ecx