53fdf7:	8b 45 ec             	mov    -0x14(%ebp),%eax
53fdfa:	e8 ed e8 ed ff       	call   0x41e6ec
53fdff:	3b 54 24 04          	cmp    0x4(%esp),%edx
53fe03:	75 09                	jne    0x53fe0e
53fe05:	3b 04 24             	cmp    (%esp),%eax
53fe08:	5a                   	pop    %edx
53fe09:	58                   	pop    %eax
53fe0a:	77 09                	ja     0x53fe15
53fe0c:	eb 04                	jmp    0x53fe12
53fe0e:	5a                   	pop    %edx
53fe0f:	58                   	pop    %eax
53fe10:	7f 03                	jg     0x53fe15
53fe12:	c6 03 3b             	movb   $0x3b,(%ebx)
53fe15:	8a 03                	mov    (%ebx),%al
53fe17:	2c 21                	sub    $0x21,%al
53fe19:	0f 84 c7 01 00 00    	je     0x53ffe6
53fe1f:	2c 0b                	sub    $0xb,%al
53fe21:	74 0a                	je     0x53fe2d
53fe23:	2c 0f                	sub    $0xf,%al
53fe25:	0f 84 1e 03 00 00    	je     0x540149
53fe2b:	eb b1                	jmp    0x53fdde
53fe2d:	8d 55 df             	lea    -0x21(%ebp),%edx
53fe30:	b9 09 00 00 00       	mov    $0x9,%ecx
53fe35:	8b 45 ec             	mov    -0x14(%ebp),%eax
53fe38:	8b 38                	mov    (%eax),%edi
53fe3a:	ff 57 08             	call   *0x8(%edi)
53fe3d:	8a 45 e7             	mov    -0x19(%ebp),%al
53fe40:	8b d0                	mov    %eax,%edx
53fe42:	80 e2 07             	and    $0x7,%dl
53fe45:	81 e2 ff 00 00 00    	and    $0xff,%edx
53fe4b:	89 55 d8             	mov    %edx,-0x28(%ebp)
53fe4e:	a8 80                	test   $0x80,%al
53fe50:	0f 95 45 d7          	setne  -0x29(%ebp)
53fe54:	3b 75 f8             	cmp    -0x8(%ebp),%esi
53fe57:	0f 84 0c 01 00 00    	je     0x53ff69
53fe5d:	ff 45 d0             	incl   -0x30(%ebp)
53fe60:	8b d3                	mov    %ebx,%edx
53fe62:	b9 01 00 00 00       	mov    $0x1,%ecx
53fe67:	8b 45 e8             	mov    -0x18(%ebp),%eax
53fe6a:	8b 38                	mov    (%eax),%edi
53fe6c:	ff 57 0c             	call   *0xc(%edi)
53fe6f:	8d 55 df             	lea    -0x21(%ebp),%edx
53fe72:	b9 09 00 00 00       	mov    $0x9,%ecx
53fe77:	8b 45 e8             	mov    -0x18(%ebp),%eax
53fe7a:	8b 38                	mov    (%eax),%edi
53fe7c:	ff 57 0c             	call   *0xc(%edi)
53fe7f:	80 7d d7 00          	cmpb   $0x0,-0x29(%ebp)
53fe83:	74 18                	je     0x53fe9d
53fe85:	8b 4d d8             	mov    -0x28(%ebp),%ecx
53fe88:	b8 02 00 00 00       	mov    $0x2,%eax
53fe8d:	d3 e0                	shl    %cl,%eax
53fe8f:	8d 0c 40             	lea    (%eax,%eax,2),%ecx
53fe92:	8b 55 ec             	mov    -0x14(%ebp),%edx
53fe95:	8b 45 e8             	mov    -0x18(%ebp),%eax
53fe98:	e8 2b fe ff ff       	call   0x53fcc8
53fe9d:	8b d3                	mov    %ebx,%edx
53fe9f:	b9 01 00 00 00       	mov    $0x1,%ecx
53fea4:	8b 45 ec             	mov    -0x14(%ebp),%eax
53fea7:	8b 38                	mov    (%eax),%edi
53fea9:	ff 57 08             	call   *0x8(%edi)
53feac:	8b d3                	mov    %ebx,%edx
53feae:	b9 01 00 00 00       	mov    $0x1,%ecx
53feb3:	8b 45 e8             	mov    -0x18(%ebp),%eax
53feb6:	8b 38                	mov    (%eax),%edi
53feb8:	ff 57 0c             	call   *0xc(%edi)
53febb:	8b d3                	mov    %ebx,%edx
53febd:	b9 01 00 00 00       	mov    $0x1,%ecx
53fec2:	8b 45 ec             	mov    -0x14(%ebp),%eax
53fec5:	8b 38                	mov    (%eax),%edi
53fec7:	ff 57 08             	call   *0x8(%edi)
53feca:	8b d3                	mov    %ebx,%edx
53fecc:	b9 01 00 00 00       	mov    $0x1,%ecx
53fed1:	8b 45 e8             	mov    -0x18(%ebp),%eax
53fed4:	8b 38                	mov    (%eax),%edi
53fed6:	ff 57 0c             	call   *0xc(%edi)
53fed9:	8b 45 ec             	mov    -0x14(%ebp),%eax
53fedc:	e8 d7 e7 ed ff       	call   0x41e6b8
53fee1:	52                   	push   %edx
53fee2:	50                   	push   %eax
53fee3:	33 c0                	xor    %eax,%eax
53fee5:	8a 03                	mov    (%ebx),%al
53fee7:	33 d2                	xor    %edx,%edx
53fee9:	03 04 24             	add    (%esp),%eax
53feec:	13 54 24 04          	adc    0x4(%esp),%edx
53fef0:	83 c4 08             	add    $0x8,%esp
53fef3:	52                   	push   %edx
53fef4:	50                   	push   %eax
53fef5:	8b 45 ec             	mov    -0x14(%ebp),%eax
53fef8:	e8 ef e7 ed ff       	call   0x41e6ec
53fefd:	3b 54 24 04          	cmp    0x4(%esp),%edx
53ff01:	75 09                	jne    0x53ff0c
53ff03:	3b 04 24             	cmp    (%esp),%eax
53ff06:	5a                   	pop    %edx
53ff07:	58                   	pop    %eax
53ff08:	73 10                	jae    0x53ff1a
53ff0a:	eb 04                	jmp    0x53ff10
53ff0c:	5a                   	pop    %edx
53ff0d:	58                   	pop    %eax
53ff0e:	7d 0a                	jge    0x53ff1a
53ff10:	e8 db 43 ec ff       	call   0x4042f0
53ff15:	e9 7d 02 00 00       	jmp    0x540197
53ff1a:	80 3b 00             	cmpb   $0x0,(%ebx)
53ff1d:	76 0f                	jbe    0x53ff2e
53ff1f:	33 c9                	xor    %ecx,%ecx
53ff21:	8a 0b                	mov    (%ebx),%cl
53ff23:	8b 55 ec             	mov    -0x14(%ebp),%edx
53ff26:	8b 45 e8             	mov    -0x18(%ebp),%eax
53ff29:	e8 9a fd ff ff       	call   0x53fcc8
53ff2e:	80 3b 00             	cmpb   $0x0,(%ebx)
53ff31:	0f 84 a9 00 00 00    	je     0x53ffe0
53ff37:	8b 45 ec             	mov    -0x14(%ebp),%eax
53ff3a:	e8 79 e7 ed ff       	call   0x41e6b8
53ff3f:	52                   	push   %edx
53ff40:	50                   	push   %eax
53ff41:	8b 45 ec             	mov    -0x14(%ebp),%eax
53ff44:	e8 a3 e7 ed ff       	call   0x41e6ec
53ff49:	3b 54 24 04          	cmp    0x4(%esp),%edx
53ff4d:	75 10                	jne    0x53ff5f
53ff4f:	3b 04 24             	cmp    (%esp),%eax
53ff52:	5a                   	pop    %edx
53ff53:	58                   	pop    %eax
53ff54:	0f 87 61 ff ff ff    	ja     0x53febb
53ff5a:	e9 81 00 00 00       	jmp    0x53ffe0
53ff5f:	5a                   	pop    %edx
53ff60:	58                   	pop    %eax
53ff61:	0f 8f 54 ff ff ff    	jg     0x53febb
53ff67:	eb 77                	jmp    0x53ffe0
53ff69:	80 7d d7 00          	cmpb   $0x0,-0x29(%ebp)
53ff6d:	74 19                	je     0x53ff88
53ff6f:	8b 4d d8             	mov    -0x28(%ebp),%ecx
53ff72:	b8 02 00 00 00       	mov    $0x2,%eax
53ff77:	d3 e0                	shl    %cl,%eax
53ff79:	8d 14 40             	lea    (%eax,%eax,2),%edx
53ff7c:	66 b9 01 00          	mov    $0x1,%cx
53ff80:	8b 45 ec             	mov    -0x14(%ebp),%eax
53ff83:	8b 38                	mov    (%eax),%edi
53ff85:	ff 57 10             	call   *0x10(%edi)
53ff88:	8b d3                	mov    %ebx,%edx
53ff8a:	b9 01 00 00 00       	mov    $0x1,%ecx
53ff8f:	8b 45 ec             	mov    -0x14(%ebp),%eax
53ff92:	8b 38                	mov    (%eax),%edi
53ff94:	ff 57 08             	call   *0x8(%edi)
53ff97:	8b d3                	mov    %ebx,%edx
53ff99:	b9 01 00 00 00       	mov    $0x1,%ecx
53ff9e:	8b 45 ec             	mov    -0x14(%ebp),%eax
53ffa1:	8b 38                	mov    (%eax),%edi
53ffa3:	ff 57 08             	call   *0x8(%edi)
53ffa6:	33 d2                	xor    %edx,%edx
53ffa8:	8a 13                	mov    (%ebx),%dl
53ffaa:	66 b9 01 00          	mov    $0x1,%cx
53ffae:	8b 45 ec             	mov    -0x14(%ebp),%eax
53ffb1:	8b 38                	mov    (%eax),%edi
53ffb3:	ff 57 10             	call   *0x10(%edi)
53ffb6:	80 3b 00             	cmpb   $0x0,(%ebx)
53ffb9:	74 25                	je     0x53ffe0
53ffbb:	8b 45 ec             	mov    -0x14(%ebp),%eax
53ffbe:	e8 f5 e6 ed ff       	call   0x41e6b8
53ffc3:	52                   	push   %edx
53ffc4:	50                   	push   %eax
53ffc5:	8b 45 ec             	mov    -0x14(%ebp),%eax
53ffc8:	e8 1f e7 ed ff       	call   0x41e6ec
53ffcd:	3b 54 24 04          	cmp    0x4(%esp),%edx
53ffd1:	75 09                	jne    0x53ffdc
53ffd3:	3b 04 24             	cmp    (%esp),%eax
53ffd6:	5a                   	pop    %edx
53ffd7:	58                   	pop    %eax
53ffd8:	77 bd                	ja     0x53ff97
53ffda:	eb 04                	jmp    0x53ffe0
53ffdc:	5a                   	pop    %edx
53ffdd:	58                   	pop    %eax
53ffde:	7f b7                	jg     0x53ff97
53ffe0:	46                   	inc    %esi
53ffe1:	e9 f8 fd ff ff       	jmp    0x53fdde
53ffe6:	8d 55 d6             	lea    -0x2a(%ebp),%edx
53ffe9:	b9 01 00 00 00       	mov    $0x1,%ecx
53ffee:	8b 45 ec             	mov    -0x14(%ebp),%eax
53fff1:	8b 38                	mov    (%eax),%edi
53fff3:	ff 57 08             	call   *0x8(%edi)
53fff6:	80 7d d6 f9          	cmpb   $0xf9,-0x2a(%ebp)
53fffa:	75 5d                	jne    0x540059
53fffc:	3b 75 f8             	cmp    -0x8(%ebp),%esi
53ffff:	75 58                	jne    0x540059
540001:	8d 55 d5             	lea    -0x2b(%ebp),%edx
540004:	b9 01 00 00 00       	mov    $0x1,%ecx
540009:	8b 45 ec             	mov    -0x14(%ebp),%eax
54000c:	8b 38                	mov    (%eax),%edi
54000e:	ff 57 08             	call   *0x8(%edi)
540011:	33 d2                	xor    %edx,%edx
540013:	8a 55 d5             	mov    -0x2b(%ebp),%dl
540016:	66 b9 01 00          	mov    $0x1,%cx
54001a:	8b 45 ec             	mov    -0x14(%ebp),%eax
54001d:	8b 38                	mov    (%eax),%edi
54001f:	ff 57 10             	call   *0x10(%edi)
540022:	80 7d d5 00          	cmpb   $0x0,-0x2b(%ebp)
540026:	0f 84 b2 fd ff ff    	je     0x53fdde
54002c:	8b 45 ec             	mov    -0x14(%ebp),%eax
54002f:	e8 84 e6 ed ff       	call   0x41e6b8
540034:	52                   	push   %edx
540035:	50                   	push   %eax
540036:	8b 45 ec             	mov    -0x14(%ebp),%eax
540039:	e8 ae e6 ed ff       	call   0x41e6ec
54003e:	3b 54 24 04          	cmp    0x4(%esp),%edx
540042:	75 0c                	jne    0x540050
540044:	3b 04 24             	cmp    (%esp),%eax
540047:	5a                   	pop    %edx
540048:	58                   	pop    %eax
540049:	77 b6                	ja     0x540001
54004b:	e9 8e fd ff ff       	jmp    0x53fdde
540050:	5a                   	pop    %edx
540051:	58                   	pop    %eax
540052:	7f ad                	jg     0x540001
540054:	e9 85 fd ff ff       	jmp    0x53fdde
540059:	c6 03 21             	movb   $0x21,(%ebx)
54005c:	8b d3                	mov    %ebx,%edx
54005e:	b9 01 00 00 00       	mov    $0x1,%ecx
540063:	8b 45 e8             	mov    -0x18(%ebp),%eax
540066:	8b 38                	mov    (%eax),%edi
540068:	ff 57 0c             	call   *0xc(%edi)
54006b:	8d 55 d6             	lea    -0x2a(%ebp),%edx
54006e:	b9 01 00 00 00       	mov    $0x1,%ecx
540073:	8b 45 e8             	mov    -0x18(%ebp),%eax
540076:	8b 38                	mov    (%eax),%edi
540078:	ff 57 0c             	call   *0xc(%edi)
54007b:	8d 55 d5             	lea    -0x2b(%ebp),%edx
54007e:	b9 01 00 00 00       	mov    $0x1,%ecx
540083:	8b 45 ec             	mov    -0x14(%ebp),%eax
540086:	8b 38                	mov    (%eax),%edi
540088:	ff 57 08             	call   *0x8(%edi)
54008b:	8d 55 d5             	lea    -0x2b(%ebp),%edx
54008e:	b9 01 00 00 00       	mov    $0x1,%ecx
540093:	8b 45 e8             	mov    -0x18(%ebp),%eax
540096:	8b 38                	mov    (%eax),%edi
540098:	ff 57 0c             	call   *0xc(%edi)
54009b:	80 7d d5 00          	cmpb   $0x0,-0x2b(%ebp)
54009f:	76 69                	jbe    0x54010a
5400a1:	8b 45 ec             	mov    -0x14(%ebp),%eax
5400a4:	e8 0f e6 ed ff       	call   0x41e6b8
5400a9:	52                   	push   %edx
5400aa:	50                   	push   %eax
5400ab:	33 c0                	xor    %eax,%eax
5400ad:	8a 45 d5             	mov    -0x2b(%ebp),%al
5400b0:	33 d2                	xor    %edx,%edx
5400b2:	03 04 24             	add    (%esp),%eax
5400b5:	13 54 24 04          	adc    0x4(%esp),%edx
5400b9:	83 c4 08             	add    $0x8,%esp
5400bc:	52                   	push   %edx
5400bd:	50                   	push   %eax
5400be:	8b 45 ec             	mov    -0x14(%ebp),%eax
5400c1:	e8 26 e6 ed ff       	call   0x41e6ec
5400c6:	3b 54 24 04          	cmp    0x4(%esp),%edx
5400ca:	75 09                	jne    0x5400d5
5400cc:	3b 04 24             	cmp    (%esp),%eax
5400cf:	5a                   	pop    %edx
5400d0:	58                   	pop    %eax
5400d1:	73 27                	jae    0x5400fa
5400d3:	eb 04                	jmp    0x5400d9
5400d5:	5a                   	pop    %edx
5400d6:	58                   	pop    %eax
5400d7:	7d 21                	jge    0x5400fa
5400d9:	8b 45 ec             	mov    -0x14(%ebp),%eax
5400dc:	e8 0b e6 ed ff       	call   0x41e6ec
5400e1:	50                   	push   %eax
5400e2:	8b 45 ec             	mov    -0x14(%ebp),%eax
5400e5:	e8 ce e5 ed ff       	call   0x41e6b8
5400ea:	59                   	pop    %ecx
5400eb:	2b c8                	sub    %eax,%ecx
5400ed:	8b 55 ec             	mov    -0x14(%ebp),%edx
5400f0:	8b 45 e8             	mov    -0x18(%ebp),%eax
5400f3:	e8 d0 fb ff ff       	call   0x53fcc8
5400f8:	eb 10                	jmp    0x54010a
5400fa:	33 c9                	xor    %ecx,%ecx
5400fc:	8a 4d d5             	mov    -0x2b(%ebp),%cl
5400ff:	8b 55 ec             	mov    -0x14(%ebp),%edx
540102:	8b 45 e8             	mov    -0x18(%ebp),%eax
540105:	e8 be fb ff ff       	call   0x53fcc8
54010a:	80 7d d5 00          	cmpb   $0x0,-0x2b(%ebp)
54010e:	0f 84 ca fc ff ff    	je     0x53fdde
540114:	8b 45 ec             	mov    -0x14(%ebp),%eax
540117:	e8 9c e5 ed ff       	call   0x41e6b8
54011c:	52                   	push   %edx
54011d:	50                   	push   %eax
54011e:	8b 45 ec             	mov    -0x14(%ebp),%eax
540121:	e8 c6 e5 ed ff       	call   0x41e6ec
540126:	3b 54 24 04          	cmp    0x4(%esp),%edx
54012a:	75 10                	jne    0x54013c
54012c:	3b 04 24             	cmp    (%esp),%eax
54012f:	5a                   	pop    %edx
540130:	58                   	pop    %eax
540131:	0f 87 44 ff ff ff    	ja     0x54007b
540137:	e9 a2 fc ff ff       	jmp    0x53fdde
54013c:	5a                   	pop    %edx
54013d:	58                   	pop    %eax
54013e:	0f 8f 37 ff ff ff    	jg     0x54007b
540144:	e9 95 fc ff ff       	jmp    0x53fdde
540149:	c6 03 3b             	movb   $0x3b,(%ebx)
54014c:	8b d3                	mov    %ebx,%edx
54014e:	b9 01 00 00 00       	mov    $0x1,%ecx
540153:	8b 45 e8             	mov    -0x18(%ebp),%eax
540156:	8b 18                	mov    (%eax),%ebx
540158:	ff 53 0c             	call   *0xc(%ebx)
54015b:	33 c0                	xor    %eax,%eax
54015d:	5a                   	pop    %edx
54015e:	59                   	pop    %ecx
54015f:	59                   	pop    %ecx
540160:	64 89 10             	mov    %edx,%fs:(%eax)
540163:	68 97 01 54 00       	push   $0x540197
540168:	8b 45 ec             	mov    -0x14(%ebp),%eax
54016b:	e8 08 39 ec ff       	call   0x403a78
540170:	80 7d f7 00          	cmpb   $0x0,-0x9(%ebp)
540174:	74 0b                	je     0x540181
540176:	8b 55 fc             	mov    -0x4(%ebp),%edx
540179:	8b 45 e8             	mov    -0x18(%ebp),%eax
54017c:	e8 0f ec ed ff       	call   0x41ed90
540181:	8b 45 e8             	mov    -0x18(%ebp),%eax
540184:	e8 ef 38 ec ff       	call   0x403a78
540189:	8b 45 d0             	mov    -0x30(%ebp),%eax
54018c:	89 45 f0             	mov    %eax,-0x10(%ebp)
54018f:	c3                   	ret
540190:	e9 77 40 ec ff       	jmp    0x40420c
540195:	eb d1                	jmp    0x540168
540197:	33 c0                	xor    %eax,%eax
540199:	5a                   	pop    %edx
54019a:	59                   	pop    %ecx
54019b:	59                   	pop    %ecx
54019c:	64 89 10             	mov    %edx,%fs:(%eax)
54019f:	68 b4 01 54 00       	push   $0x5401b4
5401a4:	8d 45 fc             	lea    -0x4(%ebp),%eax
5401a7:	e8 bc 46 ec ff       	call   0x404868
5401ac:	c3                   	ret
5401ad:	e9 5a 40 ec ff       	jmp    0x40420c
5401b2:	eb f0                	jmp    0x5401a4
5401b4:	8b 45 f0             	mov    -0x10(%ebp),%eax
5401b7:	5f                   	pop    %edi
5401b8:	5e                   	pop    %esi
5401b9:	5b                   	pop    %ebx
5401ba:	8b e5                	mov    %ebp,%esp
5401bc:	5d                   	pop    %ebp
5401bd:	c3                   	ret
5401be:	8b c0                	mov    %eax,%eax
5401c0:	55                   	push   %ebp
5401c1:	8b ec                	mov    %esp,%ebp
5401c3:	81 c4 80 f9 ff ff    	add    $0xfffff980,%esp
5401c9:	53                   	push   %ebx
5401ca:	56                   	push   %esi
5401cb:	57                   	push   %edi
5401cc:	33 db                	xor    %ebx,%ebx
5401ce:	89 9d 80 f9 ff ff    	mov    %ebx,-0x680(%ebp)
5401d4:	89 4d f8             	mov    %ecx,-0x8(%ebp)
5401d7:	89 55 fc             	mov    %edx,-0x4(%ebp)
5401da:	8b f0                	mov    %eax,%esi