53fec9:	c1 e0 08             	shl    $0x8,%eax
53fecc:	0b c8                	or     %eax,%ecx
53fece:	89 5c 24 18          	mov    %ebx,0x18(%esp)
53fed2:	0f b6 42 05          	movzbl 0x5(%edx),%eax
53fed6:	89 4c 24 34          	mov    %ecx,0x34(%esp)
53feda:	0f b6 4a 06          	movzbl 0x6(%edx),%ecx
53fede:	8b 54 24 34          	mov    0x34(%esp),%edx
53fee2:	c1 e1 08             	shl    $0x8,%ecx
53fee5:	0b c8                	or     %eax,%ecx
53fee7:	88 5c 24 34          	mov    %bl,0x34(%esp)
53feeb:	8b c3                	mov    %ebx,%eax
53feed:	c1 e1 10             	shl    $0x10,%ecx
53fef0:	c1 e8 08             	shr    $0x8,%eax
53fef3:	0b d1                	or     %ecx,%edx
53fef5:	88 44 24 35          	mov    %al,0x35(%esp)
53fef9:	8b c3                	mov    %ebx,%eax
53fefb:	c1 e8 10             	shr    $0x10,%eax
53fefe:	88 44 24 36          	mov    %al,0x36(%esp)
53ff02:	8b c3                	mov    %ebx,%eax
53ff04:	c1 e8 18             	shr    $0x18,%eax
53ff07:	88 44 24 37          	mov    %al,0x37(%esp)
53ff0b:	8b c2                	mov    %edx,%eax
53ff0d:	c1 e8 08             	shr    $0x8,%eax
53ff10:	88 44 24 39          	mov    %al,0x39(%esp)
53ff14:	8b c2                	mov    %edx,%eax
53ff16:	c1 e8 10             	shr    $0x10,%eax
53ff19:	88 44 24 3a          	mov    %al,0x3a(%esp)
53ff1d:	8b c2                	mov    %edx,%eax
53ff1f:	c1 e8 18             	shr    $0x18,%eax
53ff22:	88 44 24 3b          	mov    %al,0x3b(%esp)
53ff26:	8b 44 24 4c          	mov    0x4c(%esp),%eax
53ff2a:	89 54 24 1c          	mov    %edx,0x1c(%esp)
53ff2e:	88 54 24 38          	mov    %dl,0x38(%esp)
53ff32:	85 c0                	test   %eax,%eax
53ff34:	0f 84 f3 00 00 00    	je     0x54002d
53ff3a:	8b 4c 24 10          	mov    0x10(%esp),%ecx
53ff3e:	8b 6c 24 44          	mov    0x44(%esp),%ebp
53ff42:	2b cd                	sub    %ebp,%ecx
53ff44:	89 4c 24 10          	mov    %ecx,0x10(%esp)
53ff48:	33 ff                	xor    %edi,%edi
53ff4a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
53ff50:	48                   	dec    %eax
53ff51:	89 44 24 4c          	mov    %eax,0x4c(%esp)
53ff55:	85 f6                	test   %esi,%esi
53ff57:	75 64                	jne    0x53ffbd
53ff59:	ff 74 24 20          	push   0x20(%esp)
53ff5d:	8d 44 24 1c          	lea    0x1c(%esp),%eax
53ff61:	ff 74 24 28          	push   0x28(%esp)
53ff65:	ff 74 24 30          	push   0x30(%esp)
53ff69:	50                   	push   %eax
53ff6a:	e8 71 52 ed ff       	call   0x4151e0
53ff6f:	8b 5c 24 28          	mov    0x28(%esp),%ebx
53ff73:	83 c4 10             	add    $0x10,%esp
53ff76:	8b 54 24 1c          	mov    0x1c(%esp),%edx
53ff7a:	8b c3                	mov    %ebx,%eax
53ff7c:	c1 e8 08             	shr    $0x8,%eax
53ff7f:	88 44 24 35          	mov    %al,0x35(%esp)
53ff83:	8b c3                	mov    %ebx,%eax
53ff85:	8b 4c 24 10          	mov    0x10(%esp),%ecx
53ff89:	c1 e8 10             	shr    $0x10,%eax
53ff8c:	88 44 24 36          	mov    %al,0x36(%esp)
53ff90:	8b c3                	mov    %ebx,%eax
53ff92:	c1 e8 18             	shr    $0x18,%eax
53ff95:	88 44 24 37          	mov    %al,0x37(%esp)
53ff99:	8b c2                	mov    %edx,%eax
53ff9b:	c1 e8 08             	shr    $0x8,%eax
53ff9e:	88 44 24 39          	mov    %al,0x39(%esp)
53ffa2:	8b c2                	mov    %edx,%eax
53ffa4:	c1 e8 10             	shr    $0x10,%eax
53ffa7:	88 44 24 3a          	mov    %al,0x3a(%esp)
53ffab:	8b c2                	mov    %edx,%eax
53ffad:	c1 e8 18             	shr    $0x18,%eax
53ffb0:	47                   	inc    %edi
53ffb1:	88 5c 24 34          	mov    %bl,0x34(%esp)
53ffb5:	88 54 24 38          	mov    %dl,0x38(%esp)
53ffb9:	88 44 24 3b          	mov    %al,0x3b(%esp)
53ffbd:	8a 44 34 34          	mov    0x34(%esp,%esi,1),%al
53ffc1:	46                   	inc    %esi
53ffc2:	32 45 00             	xor    0x0(%ebp),%al
53ffc5:	83 e6 07             	and    $0x7,%esi
53ffc8:	88 04 29             	mov    %al,(%ecx,%ebp,1)
53ffcb:	45                   	inc    %ebp
53ffcc:	8b 44 24 4c          	mov    0x4c(%esp),%eax
53ffd0:	85 c0                	test   %eax,%eax
53ffd2:	0f 85 78 ff ff ff    	jne    0x53ff50
53ffd8:	85 ff                	test   %edi,%edi
53ffda:	8b 7c 24 2c          	mov    0x2c(%esp),%edi
53ffde:	74 34                	je     0x540014
53ffe0:	8b 44 24 30          	mov    0x30(%esp),%eax
53ffe4:	88 57 03             	mov    %dl,0x3(%edi)
53ffe7:	88 18                	mov    %bl,(%eax)
53ffe9:	8b c3                	mov    %ebx,%eax
53ffeb:	c1 e8 08             	shr    $0x8,%eax
53ffee:	88 07                	mov    %al,(%edi)
53fff0:	8b c3                	mov    %ebx,%eax
53fff2:	c1 e8 10             	shr    $0x10,%eax
53fff5:	88 47 01             	mov    %al,0x1(%edi)
53fff8:	8b c2                	mov    %edx,%eax
53fffa:	c1 e8 08             	shr    $0x8,%eax
53fffd:	88 47 04             	mov    %al,0x4(%edi)
540000:	8b c2                	mov    %edx,%eax
540002:	c1 eb 18             	shr    $0x18,%ebx
540005:	c1 e8 10             	shr    $0x10,%eax
540008:	c1 ea 18             	shr    $0x18,%edx
54000b:	88 5f 02             	mov    %bl,0x2(%edi)
54000e:	88 47 05             	mov    %al,0x5(%edi)
540011:	88 57 06             	mov    %dl,0x6(%edi)
540014:	8b 44 24 14          	mov    0x14(%esp),%eax
540018:	5f                   	pop    %edi
540019:	89 30                	mov    %esi,(%eax)
54001b:	5e                   	pop    %esi
54001c:	5d                   	pop    %ebp
54001d:	5b                   	pop    %ebx
54001e:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
540022:	33 cc                	xor    %esp,%ecx
540024:	e8 fd 19 09 00       	call   0x5d1a26
540029:	83 c4 30             	add    $0x30,%esp
54002c:	c3                   	ret
54002d:	8b 4c 24 3c          	mov    0x3c(%esp),%ecx
540031:	5f                   	pop    %edi
540032:	89 75 00             	mov    %esi,0x0(%ebp)
540035:	5e                   	pop    %esi
540036:	5d                   	pop    %ebp
540037:	5b                   	pop    %ebx
540038:	33 cc                	xor    %esp,%ecx
54003a:	e8 e7 19 09 00       	call   0x5d1a26
54003f:	83 c4 30             	add    $0x30,%esp
540042:	c3                   	ret
540043:	cc                   	int3
540044:	cc                   	int3
540045:	cc                   	int3
540046:	cc                   	int3
540047:	cc                   	int3
540048:	cc                   	int3
540049:	cc                   	int3
54004a:	cc                   	int3
54004b:	cc                   	int3
54004c:	cc                   	int3
54004d:	cc                   	int3
54004e:	cc                   	int3
54004f:	cc                   	int3
540050:	b8 64 00 00 00       	mov    $0x64,%eax
540055:	e8 56 17 09 00       	call   0x5d17b0
54005a:	a1 c0 14 69 00       	mov    0x6914c0,%eax
54005f:	33 c4                	xor    %esp,%eax
540061:	89 44 24 60          	mov    %eax,0x60(%esp)
540065:	8b 44 24 70          	mov    0x70(%esp),%eax
540069:	85 c0                	test   %eax,%eax
54006b:	56                   	push   %esi
54006c:	be b0 6a 69 00       	mov    $0x696ab0,%esi
540071:	0f 45 f0             	cmovne %eax,%esi
540074:	8d 44 24 04          	lea    0x4(%esp),%eax
540078:	57                   	push   %edi
540079:	8b 7c 24 70          	mov    0x70(%esp),%edi
54007d:	50                   	push   %eax
54007e:	e8 5d 73 f9 ff       	call   0x4d73e0
540083:	83 c4 04             	add    $0x4,%esp
540086:	85 c0                	test   %eax,%eax
540088:	75 11                	jne    0x54009b
54008a:	5f                   	pop    %edi
54008b:	5e                   	pop    %esi
54008c:	8b 4c 24 60          	mov    0x60(%esp),%ecx
540090:	33 cc                	xor    %esp,%ecx
540092:	e8 8f 19 09 00       	call   0x5d1a26
540097:	83 c4 64             	add    $0x64,%esp
54009a:	c3                   	ret
54009b:	ff 74 24 74          	push   0x74(%esp)
54009f:	8d 44 24 0c          	lea    0xc(%esp),%eax
5400a3:	57                   	push   %edi
5400a4:	50                   	push   %eax
5400a5:	e8 96 73 f9 ff       	call   0x4d7440
5400aa:	8d 44 24 14          	lea    0x14(%esp),%eax
5400ae:	50                   	push   %eax
5400af:	56                   	push   %esi
5400b0:	e8 eb 71 f9 ff       	call   0x4d72a0
5400b5:	8d 44 24 1c          	lea    0x1c(%esp),%eax
5400b9:	6a 60                	push   $0x60
5400bb:	50                   	push   %eax
5400bc:	e8 1f 19 ec ff       	call   0x4019e0
5400c1:	8b 8c 24 84 00 00 00 	mov    0x84(%esp),%ecx
5400c8:	83 c4 1c             	add    $0x1c,%esp
5400cb:	8b c6                	mov    %esi,%eax
5400cd:	5f                   	pop    %edi
5400ce:	5e                   	pop    %esi
5400cf:	33 cc                	xor    %esp,%ecx
5400d1:	e8 50 19 09 00       	call   0x5d1a26
5400d6:	83 c4 64             	add    $0x64,%esp
5400d9:	c3                   	ret
5400da:	cc                   	int3
5400db:	cc                   	int3
5400dc:	cc                   	int3
5400dd:	cc                   	int3
5400de:	cc                   	int3
5400df:	cc                   	int3
5400e0:	b8 18 00 00 00       	mov    $0x18,%eax
5400e5:	e8 c6 16 09 00       	call   0x5d17b0
5400ea:	53                   	push   %ebx
5400eb:	55                   	push   %ebp
5400ec:	56                   	push   %esi
5400ed:	57                   	push   %edi
5400ee:	8b 44 24 40          	mov    0x40(%esp),%eax
5400f2:	8d 50 01             	lea    0x1(%eax),%edx
5400f5:	0f b6 5a 03          	movzbl 0x3(%edx),%ebx
5400f9:	0f b6 08             	movzbl (%eax),%ecx
5400fc:	0f b6 02             	movzbl (%edx),%eax
5400ff:	c1 e0 08             	shl    $0x8,%eax
540102:	0b c8                	or     %eax,%ecx
540104:	0f b6 42 01          	movzbl 0x1(%edx),%eax
540108:	c1 e0 10             	shl    $0x10,%eax
54010b:	0b c8                	or     %eax,%ecx
54010d:	0f b6 42 02          	movzbl 0x2(%edx),%eax
540111:	c1 e0 18             	shl    $0x18,%eax
540114:	0b c8                	or     %eax,%ecx
540116:	0f b6 42 04          	movzbl 0x4(%edx),%eax
54011a:	c1 e0 08             	shl    $0x8,%eax
54011d:	0b d8                	or     %eax,%ebx
54011f:	89 4c 24 14          	mov    %ecx,0x14(%esp)
540123:	0f b6 4a 06          	movzbl 0x6(%edx),%ecx
540127:	0f b6 42 05          	movzbl 0x5(%edx),%eax
54012b:	c1 e1 08             	shl    $0x8,%ecx
54012e:	0b c8                	or     %eax,%ecx
540130:	8b 44 24 44          	mov    0x44(%esp),%eax
540134:	8d 50 01             	lea    0x1(%eax),%edx
540137:	c1 e1 10             	shl    $0x10,%ecx
54013a:	0b d9                	or     %ecx,%ebx
54013c:	0f b6 08             	movzbl (%eax),%ecx
54013f:	0f b6 02             	movzbl (%edx),%eax
540142:	c1 e0 08             	shl    $0x8,%eax
540145:	0b c8                	or     %eax,%ecx
540147:	89 5c 24 18          	mov    %ebx,0x18(%esp)
54014b:	0f b6 42 01          	movzbl 0x1(%edx),%eax
54014f:	0f b6 5a 03          	movzbl 0x3(%edx),%ebx
540153:	c1 e0 10             	shl    $0x10,%eax
540156:	0b c8                	or     %eax,%ecx
540158:	0f b6 42 02          	movzbl 0x2(%edx),%eax
54015c:	c1 e0 18             	shl    $0x18,%eax
54015f:	0b c8                	or     %eax,%ecx
540161:	0f b6 42 04          	movzbl 0x4(%edx),%eax
540165:	c1 e0 08             	shl    $0x8,%eax
540168:	0b d8                	or     %eax,%ebx
54016a:	89 4c 24 44          	mov    %ecx,0x44(%esp)
54016e:	0f b6 4a 06          	movzbl 0x6(%edx),%ecx
540172:	0f b6 42 05          	movzbl 0x5(%edx),%eax
540176:	8b 74 24 3c          	mov    0x3c(%esp),%esi
54017a:	c1 e1 08             	shl    $0x8,%ecx
54017d:	0b c8                	or     %eax,%ecx
54017f:	c1 e1 10             	shl    $0x10,%ecx
540182:	0f b6 56 01          	movzbl 0x1(%esi),%edx
540186:	0b d9                	or     %ecx,%ebx
540188:	0f b6 06             	movzbl (%esi),%eax
54018b:	0f b6 4e 07          	movzbl 0x7(%esi),%ecx
54018f:	c1 e2 08             	shl    $0x8,%edx
540192:	0b d0                	or     %eax,%edx
540194:	c1 e1 08             	shl    $0x8,%ecx
540197:	0f b6 46 02          	movzbl 0x2(%esi),%eax
54019b:	c1 e0 10             	shl    $0x10,%eax
54019e:	0b d0                	or     %eax,%edx
5401a0:	89 5c 24 10          	mov    %ebx,0x10(%esp)
5401a4:	0f b6 46 03          	movzbl 0x3(%esi),%eax
5401a8:	c1 e0 18             	shl    $0x18,%eax
5401ab:	0b d0                	or     %eax,%edx
5401ad:	0f b6 46 05          	movzbl 0x5(%esi),%eax
5401b1:	c1 e0 08             	shl    $0x8,%eax
5401b4:	83 7c 24 48 00       	cmpl   $0x0,0x48(%esp)
5401b9:	89 54 24 40          	mov    %edx,0x40(%esp)
5401bd:	0f 84 da 01 00 00    	je     0x54039d
5401c3:	0f b6 5e 04          	movzbl 0x4(%esi),%ebx
5401c7:	8b 6c 24 34          	mov    0x34(%esp),%ebp
5401cb:	0b d8                	or     %eax,%ebx
5401cd:	0f b6 46 06          	movzbl 0x6(%esi),%eax
5401d1:	8b 74 24 30          	mov    0x30(%esp),%esi
5401d5:	0b c8                	or     %eax,%ecx
5401d7:	8b 7c 24 2c          	mov    0x2c(%esp),%edi
5401db:	c1 e1 10             	shl    $0x10,%ecx
5401de:	0b d9                	or     %ecx,%ebx
5401e0:	8d 4d f8             	lea    -0x8(%ebp),%ecx
5401e3:	89 4c 24 34          	mov    %ecx,0x34(%esp)
5401e7:	85 c9                	test   %ecx,%ecx
5401e9:	0f 88 d3 00 00 00    	js     0x5402c2
5401ef:	c1 ed 03             	shr    $0x3,%ebp
5401f2:	8b c5                	mov    %ebp,%eax
5401f4:	f7 d8                	neg    %eax
5401f6:	8d 0c c1             	lea    (%ecx,%eax,8),%ecx
5401f9:	89 4c 24 34          	mov    %ecx,0x34(%esp)
5401fd:	0f 1f 00             	nopl   (%eax)
540200:	0f b6 47 01          	movzbl 0x1(%edi),%eax
540204:	0f b6 17             	movzbl (%edi),%edx
540207:	0f b6 4f 04          	movzbl 0x4(%edi),%ecx
54020b:	c1 e0 08             	shl    $0x8,%eax
54020e:	0b d0                	or     %eax,%edx
540210:	0f b6 47 02          	movzbl 0x2(%edi),%eax
540214:	c1 e0 10             	shl    $0x10,%eax
540217:	0b d0                	or     %eax,%edx
540219:	0f b6 47 03          	movzbl 0x3(%edi),%eax
54021d:	c1 e0 18             	shl    $0x18,%eax
540220:	0b d0                	or     %eax,%edx
540222:	0f b6 47 05          	movzbl 0x5(%edi),%eax
540226:	33 54 24 40          	xor    0x40(%esp),%edx
54022a:	33 54 24 14          	xor    0x14(%esp),%edx
54022e:	c1 e0 08             	shl    $0x8,%eax
540231:	0b c8                	or     %eax,%ecx
540233:	89 54 24 20          	mov    %edx,0x20(%esp)
540237:	0f b6 47 06          	movzbl 0x6(%edi),%eax
54023b:	c1 e0 10             	shl    $0x10,%eax
54023e:	0b c8                	or     %eax,%ecx
540240:	0f b6 47 07          	movzbl 0x7(%edi),%eax
540244:	c1 e0 18             	shl    $0x18,%eax
540247:	83 c7 08             	add    $0x8,%edi
54024a:	0b c8                	or     %eax,%ecx
54024c:	8d 44 24 20          	lea    0x20(%esp),%eax
540250:	6a 01                	push   $0x1
540252:	ff 74 24 3c          	push   0x3c(%esp)
540256:	33 cb                	xor    %ebx,%ecx
540258:	33 4c 24 20          	xor    0x20(%esp),%ecx
54025c:	50                   	push   %eax
54025d:	89 4c 24 30          	mov    %ecx,0x30(%esp)
540261:	e8 1a 4e ed ff       	call   0x415080
540266:	8b 54 24 2c          	mov    0x2c(%esp),%edx
54026a:	83 c4 0c             	add    $0xc,%esp
54026d:	33 54 24 44          	xor    0x44(%esp),%edx
540271:	8b 5c 24 24          	mov    0x24(%esp),%ebx
540275:	8b c2                	mov    %edx,%eax
540277:	33 5c 24 10          	xor    0x10(%esp),%ebx
54027b:	c1 e8 08             	shr    $0x8,%eax
54027e:	88 16                	mov    %dl,(%esi)
540280:	88 46 01             	mov    %al,0x1(%esi)
540283:	8b c2                	mov    %edx,%eax
540285:	c1 e8 10             	shr    $0x10,%eax
540288:	88 46 02             	mov    %al,0x2(%esi)
54028b:	8b c2                	mov    %edx,%eax
54028d:	c1 e8 18             	shr    $0x18,%eax
540290:	88 46 03             	mov    %al,0x3(%esi)
540293:	8b c3                	mov    %ebx,%eax
540295:	c1 e8 08             	shr    $0x8,%eax
540298:	88 46 05             	mov    %al,0x5(%esi)
54029b:	8b c3                	mov    %ebx,%eax
54029d:	c1 e8 10             	shr    $0x10,%eax
5402a0:	88 46 06             	mov    %al,0x6(%esi)
5402a3:	8b c3                	mov    %ebx,%eax
5402a5:	c1 e8 18             	shr    $0x18,%eax
5402a8:	88 5e 04             	mov    %bl,0x4(%esi)
5402ab:	88 46 07             	mov    %al,0x7(%esi)
5402ae:	83 c6 08             	add    $0x8,%esi
5402b1:	89 54 24 40          	mov    %edx,0x40(%esp)
5402b5:	83 ed 01             	sub    $0x1,%ebp
5402b8:	0f 85 42 ff ff ff    	jne    0x540200
5402be:	8b 4c 24 34          	mov    0x34(%esp),%ecx
5402c2:	83 f9 f8             	cmp    $0xfffffff8,%ecx
5402c5:	0f 84 ce 02 00 00    	je     0x540599
5402cb:	8b 44 24 34          	mov    0x34(%esp),%eax