53be6a:	83 fe 04             	cmp    $0x4,%esi
53be6d:	74 0c                	je     0x53be7b
53be6f:	83 fe 06             	cmp    $0x6,%esi
53be72:	74 39                	je     0x53bead
53be74:	68 21 01 00 00       	push   $0x121
53be79:	eb 62                	jmp    0x53bedd
53be7b:	85 ed                	test   %ebp,%ebp
53be7d:	74 07                	je     0x53be86
53be7f:	68 25 01 00 00       	push   $0x125
53be84:	eb 57                	jmp    0x53bedd
53be86:	85 f6                	test   %esi,%esi
53be88:	75 23                	jne    0x53bead
53be8a:	83 ff 01             	cmp    $0x1,%edi
53be8d:	74 07                	je     0x53be96
53be8f:	68 2b 01 00 00       	push   $0x12b
53be94:	eb 47                	jmp    0x53bedd
53be96:	ff 74 24 20          	push   0x20(%esp)
53be9a:	ff 74 24 20          	push   0x20(%esp)
53be9e:	e8 ad 2a fd ff       	call   0x50e950
53bea3:	83 c4 08             	add    $0x8,%esp
53bea6:	5e                   	pop    %esi
53bea7:	5d                   	pop    %ebp
53bea8:	5f                   	pop    %edi
53bea9:	83 c4 0c             	add    $0xc,%esp
53beac:	c3                   	ret
53bead:	8b 44 24 1c          	mov    0x1c(%esp),%eax
53beb1:	ff 70 28             	push   0x28(%eax)
53beb4:	e8 67 df f9 ff       	call   0x4d9e20
53beb9:	83 c0 07             	add    $0x7,%eax
53bebc:	83 c4 04             	add    $0x4,%esp
53bebf:	99                   	cltd
53bec0:	83 e2 07             	and    $0x7,%edx
53bec3:	03 c2                	add    %edx,%eax
53bec5:	c1 f8 03             	sar    $0x3,%eax
53bec8:	89 44 24 0c          	mov    %eax,0xc(%esp)
53becc:	83 fe 02             	cmp    $0x2,%esi
53becf:	74 02                	je     0x53bed3
53bed1:	03 c0                	add    %eax,%eax
53bed3:	40                   	inc    %eax
53bed4:	3b f8                	cmp    %eax,%edi
53bed6:	74 21                	je     0x53bef9
53bed8:	68 38 01 00 00       	push   $0x138
53bedd:	68 64 a2 64 00       	push   $0x64a264
53bee2:	6a 66                	push   $0x66
53bee4:	6a 67                	push   $0x67
53bee6:	6a 10                	push   $0x10
53bee8:	e8 93 d0 f9 ff       	call   0x4d8f80
53beed:	83 c4 14             	add    $0x14,%esp
53bef0:	5e                   	pop    %esi
53bef1:	5d                   	pop    %ebp
53bef2:	33 c0                	xor    %eax,%eax
53bef4:	5f                   	pop    %edi
53bef5:	83 c4 0c             	add    $0xc,%esp
53bef8:	c3                   	ret
53bef9:	8b 7c 24 2c          	mov    0x2c(%esp),%edi
53befd:	85 ff                	test   %edi,%edi
53beff:	75 0f                	jne    0x53bf10
53bf01:	e8 1a be fa ff       	call   0x4e7d20
53bf06:	89 44 24 10          	mov    %eax,0x10(%esp)
53bf0a:	8b f8                	mov    %eax,%edi
53bf0c:	85 c0                	test   %eax,%eax
53bf0e:	74 e0                	je     0x53bef0
53bf10:	53                   	push   %ebx
53bf11:	57                   	push   %edi
53bf12:	e8 f9 be fa ff       	call   0x4e7e10
53bf17:	57                   	push   %edi
53bf18:	e8 b3 bc fa ff       	call   0x4e7bd0
53bf1d:	57                   	push   %edi
53bf1e:	89 44 24 38          	mov    %eax,0x38(%esp)
53bf22:	e8 a9 bc fa ff       	call   0x4e7bd0
53bf27:	8b d8                	mov    %eax,%ebx
53bf29:	83 c4 0c             	add    $0xc,%esp
53bf2c:	85 db                	test   %ebx,%ebx
53bf2e:	0f 84 dc 00 00 00    	je     0x53c010
53bf34:	ff 74 24 2c          	push   0x2c(%esp)
53bf38:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
53bf3c:	ff 74 24 14          	push   0x14(%esp)
53bf40:	41                   	inc    %ecx
53bf41:	51                   	push   %ecx
53bf42:	e8 29 d7 f9 ff       	call   0x4d9670
53bf47:	83 c4 0c             	add    $0xc,%esp
53bf4a:	85 c0                	test   %eax,%eax
53bf4c:	0f 84 be 00 00 00    	je     0x53c010
53bf52:	8b 44 24 20          	mov    0x20(%esp),%eax
53bf56:	ff 70 28             	push   0x28(%eax)
53bf59:	ff 74 24 30          	push   0x30(%esp)
53bf5d:	e8 de e1 f9 ff       	call   0x4da140
53bf62:	83 c4 08             	add    $0x8,%esp
53bf65:	85 c0                	test   %eax,%eax
53bf67:	78 1d                	js     0x53bf86
53bf69:	68 4b 01 00 00       	push   $0x14b
53bf6e:	68 64 a2 64 00       	push   $0x64a264
53bf73:	6a 66                	push   $0x66
53bf75:	6a 67                	push   $0x67
53bf77:	6a 10                	push   $0x10
53bf79:	e8 02 d0 f9 ff       	call   0x4d8f80
53bf7e:	83 c4 14             	add    $0x14,%esp
53bf81:	e9 8a 00 00 00       	jmp    0x53c010
53bf86:	83 fe 02             	cmp    $0x2,%esi
53bf89:	75 15                	jne    0x53bfa0
53bf8b:	57                   	push   %edi
53bf8c:	55                   	push   %ebp
53bf8d:	ff 74 24 34          	push   0x34(%esp)
53bf91:	ff 74 24 30          	push   0x30(%esp)
53bf95:	ff 74 24 30          	push   0x30(%esp)
53bf99:	e8 92 36 fd ff       	call   0x50f630
53bf9e:	eb 61                	jmp    0x53c001
53bfa0:	8b 4c 24 28          	mov    0x28(%esp),%ecx
53bfa4:	8b 44 24 10          	mov    0x10(%esp),%eax
53bfa8:	41                   	inc    %ecx
53bfa9:	53                   	push   %ebx
53bfaa:	50                   	push   %eax
53bfab:	03 c1                	add    %ecx,%eax
53bfad:	50                   	push   %eax
53bfae:	e8 bd d6 f9 ff       	call   0x4d9670
53bfb3:	83 c4 0c             	add    $0xc,%esp
53bfb6:	85 c0                	test   %eax,%eax
53bfb8:	74 56                	je     0x53c010
53bfba:	8b 44 24 20          	mov    0x20(%esp),%eax
53bfbe:	ff 70 28             	push   0x28(%eax)
53bfc1:	53                   	push   %ebx
53bfc2:	e8 79 e1 f9 ff       	call   0x4da140
53bfc7:	83 c4 08             	add    $0x8,%esp
53bfca:	85 c0                	test   %eax,%eax
53bfcc:	78 07                	js     0x53bfd5
53bfce:	68 56 01 00 00       	push   $0x156
53bfd3:	eb 99                	jmp    0x53bf6e
53bfd5:	83 fe 06             	cmp    $0x6,%esi
53bfd8:	75 14                	jne    0x53bfee
53bfda:	53                   	push   %ebx
53bfdb:	e8 10 dd f9 ff       	call   0x4d9cf0
53bfe0:	83 c4 04             	add    $0x4,%esp
53bfe3:	3b e8                	cmp    %eax,%ebp
53bfe5:	74 07                	je     0x53bfee
53bfe7:	68 5b 01 00 00       	push   $0x15b
53bfec:	eb 80                	jmp    0x53bf6e
53bfee:	57                   	push   %edi
53bfef:	53                   	push   %ebx
53bff0:	ff 74 24 34          	push   0x34(%esp)
53bff4:	ff 74 24 30          	push   0x30(%esp)
53bff8:	ff 74 24 30          	push   0x30(%esp)
53bffc:	e8 3f 28 fd ff       	call   0x50e840
53c001:	83 c4 14             	add    $0x14,%esp
53c004:	85 c0                	test   %eax,%eax
53c006:	74 08                	je     0x53c010
53c008:	c7 44 24 18 01 00 00 	movl   $0x1,0x18(%esp)
53c00f:	00
53c010:	57                   	push   %edi
53c011:	e8 ba ba fa ff       	call   0x4e7ad0
53c016:	ff 74 24 18          	push   0x18(%esp)
53c01a:	e8 21 bb fa ff       	call   0x4e7b40
53c01f:	8b 44 24 20          	mov    0x20(%esp),%eax
53c023:	83 c4 08             	add    $0x8,%esp
53c026:	5b                   	pop    %ebx
53c027:	5e                   	pop    %esi
53c028:	5d                   	pop    %ebp
53c029:	5f                   	pop    %edi
53c02a:	83 c4 0c             	add    $0xc,%esp
53c02d:	c3                   	ret
53c02e:	cc                   	int3
53c02f:	cc                   	int3
53c030:	b8 10 00 00 00       	mov    $0x10,%eax
53c035:	e8 76 57 09 00       	call   0x5d17b0
53c03a:	53                   	push   %ebx
53c03b:	8b 5c 24 20          	mov    0x20(%esp),%ebx
53c03f:	55                   	push   %ebp
53c040:	56                   	push   %esi
53c041:	33 f6                	xor    %esi,%esi
53c043:	89 74 24 0c          	mov    %esi,0xc(%esp)
53c047:	57                   	push   %edi
53c048:	83 fb 02             	cmp    $0x2,%ebx
53c04b:	74 35                	je     0x53c082
53c04d:	83 fb 04             	cmp    $0x4,%ebx
53c050:	74 30                	je     0x53c082
53c052:	83 fb 06             	cmp    $0x6,%ebx
53c055:	74 2b                	je     0x53c082
53c057:	68 a7 00 00 00       	push   $0xa7
53c05c:	68 64 a2 64 00       	push   $0x64a264
53c061:	6a 68                	push   $0x68
53c063:	6a 68                	push   $0x68
53c065:	6a 10                	push   $0x10
53c067:	e8 14 cf f9 ff       	call   0x4d8f80
53c06c:	83 c4 14             	add    $0x14,%esp
53c06f:	56                   	push   %esi
53c070:	e8 cb ba fa ff       	call   0x4e7b40
53c075:	83 c4 04             	add    $0x4,%esp
53c078:	33 c0                	xor    %eax,%eax
53c07a:	5f                   	pop    %edi
53c07b:	5e                   	pop    %esi
53c07c:	5d                   	pop    %ebp
53c07d:	5b                   	pop    %ebx
53c07e:	83 c4 10             	add    $0x10,%esp
53c081:	c3                   	ret
53c082:	ff 74 24 28          	push   0x28(%esp)
53c086:	8b 6c 24 28          	mov    0x28(%esp),%ebp
53c08a:	55                   	push   %ebp
53c08b:	e8 d0 24 fd ff       	call   0x50e560
53c090:	83 c4 08             	add    $0x8,%esp
53c093:	85 c0                	test   %eax,%eax
53c095:	74 41                	je     0x53c0d8
53c097:	8b 44 24 30          	mov    0x30(%esp),%eax
53c09b:	85 c0                	test   %eax,%eax
53c09d:	74 2c                	je     0x53c0cb
53c09f:	83 7c 24 34 01       	cmpl   $0x1,0x34(%esp)
53c0a4:	73 22                	jae    0x53c0c8
53c0a6:	68 af 00 00 00       	push   $0xaf
53c0ab:	68 64 a2 64 00       	push   $0x64a264
53c0b0:	6a 64                	push   $0x64
53c0b2:	6a 68                	push   $0x68
53c0b4:	6a 10                	push   $0x10
53c0b6:	e8 c5 ce f9 ff       	call   0x4d8f80
53c0bb:	83 c4 14             	add    $0x14,%esp
53c0be:	5f                   	pop    %edi
53c0bf:	5e                   	pop    %esi
53c0c0:	5d                   	pop    %ebp
53c0c1:	33 c0                	xor    %eax,%eax
53c0c3:	5b                   	pop    %ebx
53c0c4:	83 c4 10             	add    $0x10,%esp
53c0c7:	c3                   	ret
53c0c8:	c6 00 00             	movb   $0x0,(%eax)
53c0cb:	5f                   	pop    %edi
53c0cc:	5e                   	pop    %esi
53c0cd:	5d                   	pop    %ebp
53c0ce:	b8 01 00 00 00       	mov    $0x1,%eax
53c0d3:	5b                   	pop    %ebx
53c0d4:	83 c4 10             	add    $0x10,%esp
53c0d7:	c3                   	ret
53c0d8:	ff 75 28             	push   0x28(%ebp)
53c0db:	e8 40 dd f9 ff       	call   0x4d9e20
53c0e0:	83 c0 07             	add    $0x7,%eax
53c0e3:	83 c4 04             	add    $0x4,%esp
53c0e6:	99                   	cltd
53c0e7:	83 e2 07             	and    $0x7,%edx
53c0ea:	8d 2c 02             	lea    (%edx,%eax,1),%ebp
53c0ed:	c1 fd 03             	sar    $0x3,%ebp
53c0f0:	8b c5                	mov    %ebp,%eax
53c0f2:	83 fb 02             	cmp    $0x2,%ebx
53c0f5:	74 07                	je     0x53c0fe
53c0f7:	8d 04 6d 00 00 00 00 	lea    0x0(,%ebp,2),%eax
53c0fe:	8d 48 01             	lea    0x1(%eax),%ecx
53c101:	89 4c 24 18          	mov    %ecx,0x18(%esp)
53c105:	39 74 24 30          	cmp    %esi,0x30(%esp)
53c109:	0f 84 e0 01 00 00    	je     0x53c2ef
53c10f:	39 4c 24 34          	cmp    %ecx,0x34(%esp)
53c113:	73 2b                	jae    0x53c140
53c115:	68 c0 00 00 00       	push   $0xc0
53c11a:	68 64 a2 64 00       	push   $0x64a264
53c11f:	6a 64                	push   $0x64
53c121:	6a 68                	push   $0x68
53c123:	6a 10                	push   $0x10
53c125:	e8 56 ce f9 ff       	call   0x4d8f80
53c12a:	83 c4 14             	add    $0x14,%esp
53c12d:	56                   	push   %esi
53c12e:	e8 0d ba fa ff       	call   0x4e7b40
53c133:	83 c4 04             	add    $0x4,%esp
53c136:	33 c0                	xor    %eax,%eax
53c138:	5f                   	pop    %edi
53c139:	5e                   	pop    %esi
53c13a:	5d                   	pop    %ebp
53c13b:	5b                   	pop    %ebx
53c13c:	83 c4 10             	add    $0x10,%esp
53c13f:	c3                   	ret
53c140:	8b 7c 24 38          	mov    0x38(%esp),%edi
53c144:	85 ff                	test   %edi,%edi
53c146:	75 15                	jne    0x53c15d
53c148:	e8 d3 bb fa ff       	call   0x4e7d20
53c14d:	8b f0                	mov    %eax,%esi
53c14f:	89 44 24 10          	mov    %eax,0x10(%esp)
53c153:	8b fe                	mov    %esi,%edi
53c155:	85 f6                	test   %esi,%esi
53c157:	0f 84 61 ff ff ff    	je     0x53c0be
53c15d:	57                   	push   %edi
53c15e:	e8 ad bc fa ff       	call   0x4e7e10
53c163:	57                   	push   %edi
53c164:	e8 67 ba fa ff       	call   0x4e7bd0
53c169:	57                   	push   %edi
53c16a:	89 44 24 38          	mov    %eax,0x38(%esp)
53c16e:	e8 5d ba fa ff       	call   0x4e7bd0
53c173:	8b f0                	mov    %eax,%esi
53c175:	83 c4 0c             	add    $0xc,%esp
53c178:	89 74 24 14          	mov    %esi,0x14(%esp)
53c17c:	85 f6                	test   %esi,%esi
53c17e:	74 7f                	je     0x53c1ff
53c180:	57                   	push   %edi
53c181:	56                   	push   %esi
53c182:	ff 74 24 34          	push   0x34(%esp)
53c186:	ff 74 24 34          	push   0x34(%esp)
53c18a:	ff 74 24 34          	push   0x34(%esp)
53c18e:	e8 4d 22 fd ff       	call   0x50e3e0
53c193:	83 c4 14             	add    $0x14,%esp
53c196:	85 c0                	test   %eax,%eax
53c198:	74 65                	je     0x53c1ff
53c19a:	83 fb 02             	cmp    $0x2,%ebx
53c19d:	74 05                	je     0x53c1a4
53c19f:	83 fb 06             	cmp    $0x6,%ebx
53c1a2:	75 12                	jne    0x53c1b6
53c1a4:	56                   	push   %esi
53c1a5:	e8 46 db f9 ff       	call   0x4d9cf0
53c1aa:	83 c4 04             	add    $0x4,%esp
53c1ad:	85 c0                	test   %eax,%eax
53c1af:	74 05                	je     0x53c1b6
53c1b1:	8d 4b 01             	lea    0x1(%ebx),%ecx
53c1b4:	eb 02                	jmp    0x53c1b8
53c1b6:	8a cb                	mov    %bl,%cl
53c1b8:	8b 44 24 30          	mov    0x30(%esp),%eax
53c1bc:	be 01 00 00 00       	mov    $0x1,%esi
53c1c1:	ff 74 24 2c          	push   0x2c(%esp)
53c1c5:	88 08                	mov    %cl,(%eax)
53c1c7:	e8 54 dc f9 ff       	call   0x4d9e20
53c1cc:	83 c0 07             	add    $0x7,%eax
53c1cf:	8b cd                	mov    %ebp,%ecx
53c1d1:	99                   	cltd
53c1d2:	83 c4 04             	add    $0x4,%esp
53c1d5:	83 e2 07             	and    $0x7,%edx
53c1d8:	03 c2                	add    %edx,%eax
53c1da:	c1 f8 03             	sar    $0x3,%eax
53c1dd:	2b c8                	sub    %eax,%ecx
53c1df:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
53c1e3:	3b cd                	cmp    %ebp,%ecx
53c1e5:	76 38                	jbe    0x53c21f
53c1e7:	68 de 00 00 00       	push   $0xde
53c1ec:	68 64 a2 64 00       	push   $0x64a264
53c1f1:	6a 44                	push   $0x44
53c1f3:	6a 68                	push   $0x68
53c1f5:	6a 10                	push   $0x10
53c1f7:	e8 84 cd f9 ff       	call   0x4d8f80
53c1fc:	83 c4 14             	add    $0x14,%esp
53c1ff:	57                   	push   %edi
53c200:	e8 cb b8 fa ff       	call   0x4e7ad0
53c205:	8b 74 24 14          	mov    0x14(%esp),%esi
53c209:	83 c4 04             	add    $0x4,%esp
53c20c:	56                   	push   %esi
53c20d:	e8 2e b9 fa ff       	call   0x4e7b40
53c212:	83 c4 04             	add    $0x4,%esp
53c215:	33 c0                	xor    %eax,%eax
53c217:	5f                   	pop    %edi
53c218:	5e                   	pop    %esi
53c219:	5d                   	pop    %ebp
53c21a:	5b                   	pop    %ebx
53c21b:	83 c4 10             	add    $0x10,%esp
53c21e:	c3                   	ret
53c21f:	85 c9                	test   %ecx,%ecx
53c221:	74 16                	je     0x53c239
53c223:	8b 44 24 30          	mov    0x30(%esp),%eax
53c227:	51                   	push   %ecx
53c228:	40                   	inc    %eax
53c229:	6a 00                	push   $0x0
53c22b:	50                   	push   %eax
53c22c:	e8 3f 6a 09 00       	call   0x5d2c70
53c231:	8b 74 24 28          	mov    0x28(%esp),%esi