4fff85:	c7 44 24 34 01 00 00 	movl   $0x1,0x34(%esp)
4fff8c:	00
4fff8d:	8d 44 24 3c          	lea    0x3c(%esp),%eax
4fff91:	6a 40                	push   $0x40
4fff93:	50                   	push   %eax
4fff94:	e8 47 1a f0 ff       	call   0x4019e0
4fff99:	6a 68                	push   $0x68
4fff9b:	68 58 9c 62 00       	push   $0x629c58
4fffa0:	57                   	push   %edi
4fffa1:	ff 74 24 2c          	push   0x2c(%esp)
4fffa5:	e8 96 08 fe ff       	call   0x4e0840
4fffaa:	8b 8c 24 94 00 00 00 	mov    0x94(%esp),%ecx
4fffb1:	83 c4 18             	add    $0x18,%esp
4fffb4:	8b 44 24 34          	mov    0x34(%esp),%eax
4fffb8:	5f                   	pop    %edi
4fffb9:	5e                   	pop    %esi
4fffba:	5d                   	pop    %ebp
4fffbb:	5b                   	pop    %ebx
4fffbc:	33 cc                	xor    %esp,%ecx
4fffbe:	e8 63 1a 0d 00       	call   0x5d1a26
4fffc3:	83 c4 70             	add    $0x70,%esp
4fffc6:	c3                   	ret
4fffc7:	cc                   	int3
4fffc8:	cc                   	int3
4fffc9:	cc                   	int3
4fffca:	cc                   	int3
4fffcb:	cc                   	int3
4fffcc:	cc                   	int3
4fffcd:	cc                   	int3
4fffce:	cc                   	int3
4fffcf:	cc                   	int3
4fffd0:	6a 00                	push   $0x0
4fffd2:	6a 00                	push   $0x0
4fffd4:	ff 74 24 24          	push   0x24(%esp)
4fffd8:	ff 74 24 24          	push   0x24(%esp)
4fffdc:	ff 74 24 24          	push   0x24(%esp)
4fffe0:	ff 74 24 24          	push   0x24(%esp)
4fffe4:	ff 74 24 24          	push   0x24(%esp)
4fffe8:	ff 74 24 24          	push   0x24(%esp)
4fffec:	ff 74 24 24          	push   0x24(%esp)
4ffff0:	e8 0b 00 00 00       	call   0x500000
4ffff5:	83 c4 24             	add    $0x24,%esp
4ffff8:	c3                   	ret
4ffff9:	cc                   	int3
4ffffa:	cc                   	int3
4ffffb:	cc                   	int3
4ffffc:	cc                   	int3
4ffffd:	cc                   	int3
4ffffe:	cc                   	int3
4fffff:	cc                   	int3
500000:	b8 c0 00 00 00       	mov    $0xc0,%eax
500005:	e8 a6 17 0d 00       	call   0x5d17b0
50000a:	a1 c0 14 69 00       	mov    0x6914c0,%eax
50000f:	33 c4                	xor    %esp,%eax
500011:	89 84 24 bc 00 00 00 	mov    %eax,0xbc(%esp)
500018:	8b 84 24 c4 00 00 00 	mov    0xc4(%esp),%eax
50001f:	53                   	push   %ebx
500020:	55                   	push   %ebp
500021:	8b ac 24 ec 00 00 00 	mov    0xec(%esp),%ebp
500028:	33 db                	xor    %ebx,%ebx
50002a:	89 44 24 40          	mov    %eax,0x40(%esp)
50002e:	8b 84 24 dc 00 00 00 	mov    0xdc(%esp),%eax
500035:	89 44 24 38          	mov    %eax,0x38(%esp)
500039:	8b 84 24 e0 00 00 00 	mov    0xe0(%esp),%eax
500040:	56                   	push   %esi
500041:	57                   	push   %edi
500042:	89 44 24 1c          	mov    %eax,0x1c(%esp)
500046:	33 ff                	xor    %edi,%edi
500048:	8b 84 24 f0 00 00 00 	mov    0xf0(%esp),%eax
50004f:	89 44 24 34          	mov    %eax,0x34(%esp)
500053:	c7 44 24 38 ff ff ff 	movl   $0xffffffff,0x38(%esp)
50005a:	ff
50005b:	c7 44 24 30 00 00 00 	movl   $0x0,0x30(%esp)
500062:	00
500063:	85 c0                	test   %eax,%eax
500065:	75 09                	jne    0x500070
500067:	e8 a4 64 01 00       	call   0x516510
50006c:	89 44 24 34          	mov    %eax,0x34(%esp)
500070:	85 ed                	test   %ebp,%ebp
500072:	50                   	push   %eax
500073:	0f 44 e8             	cmove  %eax,%ebp
500076:	89 6c 24 2c          	mov    %ebp,0x2c(%esp)
50007a:	e8 41 08 ff ff       	call   0x4f08c0
50007f:	83 c4 04             	add    $0x4,%esp
500082:	8b e8                	mov    %eax,%ebp
500084:	89 6c 24 2c          	mov    %ebp,0x2c(%esp)
500088:	39 9c 24 d8 00 00 00 	cmp    %ebx,0xd8(%esp)
50008f:	0f 8e 03 06 00 00    	jle    0x500698
500095:	8b b4 24 e0 00 00 00 	mov    0xe0(%esp),%esi
50009c:	85 f6                	test   %esi,%esi
50009e:	0f 8e f4 05 00 00    	jle    0x500698
5000a4:	8b 4c 24 40          	mov    0x40(%esp),%ecx
5000a8:	3b ce                	cmp    %esi,%ecx
5000aa:	0f 8c cd 05 00 00    	jl     0x50067d
5000b0:	8d 04 6d 02 00 00 00 	lea    0x2(,%ebp,2),%eax
5000b7:	3b c8                	cmp    %eax,%ecx
5000b9:	0f 8c be 05 00 00    	jl     0x50067d
5000bf:	2b cd                	sub    %ebp,%ecx
5000c1:	68 9d 00 00 00       	push   $0x9d
5000c6:	49                   	dec    %ecx
5000c7:	68 58 9c 62 00       	push   $0x629c58
5000cc:	51                   	push   %ecx
5000cd:	89 4c 24 30          	mov    %ecx,0x30(%esp)
5000d1:	e8 7a 06 fe ff       	call   0x4e0750
5000d6:	83 c4 0c             	add    $0xc,%esp
5000d9:	89 44 24 14          	mov    %eax,0x14(%esp)
5000dd:	85 c0                	test   %eax,%eax
5000df:	75 24                	jne    0x500105
5000e1:	68 9f 00 00 00       	push   $0x9f
5000e6:	68 58 9c 62 00       	push   $0x629c58
5000eb:	6a 41                	push   $0x41
5000ed:	68 99 00 00 00       	push   $0x99
5000f2:	6a 04                	push   $0x4
5000f4:	e8 87 8e fd ff       	call   0x4d8f80
5000f9:	8b 74 24 38          	mov    0x38(%esp),%esi
5000fd:	83 c4 14             	add    $0x14,%esp
500100:	e9 26 05 00 00       	jmp    0x50062b
500105:	8b 7c 24 40          	mov    0x40(%esp),%edi
500109:	68 a3 00 00 00       	push   $0xa3
50010e:	68 58 9c 62 00       	push   $0x629c58
500113:	57                   	push   %edi
500114:	e8 37 06 fe ff       	call   0x4e0750
500119:	83 c4 0c             	add    $0xc,%esp
50011c:	89 44 24 20          	mov    %eax,0x20(%esp)
500120:	85 c0                	test   %eax,%eax
500122:	75 20                	jne    0x500144
500124:	68 a6 00 00 00       	push   $0xa6
500129:	68 58 9c 62 00       	push   $0x629c58
50012e:	6a 41                	push   $0x41
500130:	68 99 00 00 00       	push   $0x99
500135:	6a 04                	push   $0x4
500137:	e8 44 8e fd ff       	call   0x4d8f80
50013c:	83 c4 14             	add    $0x14,%esp
50013f:	e9 df 04 00 00       	jmp    0x500623
500144:	8b 5c 24 20          	mov    0x20(%esp),%ebx
500148:	8b 94 24 dc 00 00 00 	mov    0xdc(%esp),%edx
50014f:	03 df                	add    %edi,%ebx
500151:	03 d6                	add    %esi,%edx
500153:	89 5c 24 20          	mov    %ebx,0x20(%esp)
500157:	85 ff                	test   %edi,%edi
500159:	7e 2c                	jle    0x500187
50015b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
500160:	8b c6                	mov    %esi,%eax
500162:	8d 4e ff             	lea    -0x1(%esi),%ecx
500165:	f7 d0                	not    %eax
500167:	c1 e9 1f             	shr    $0x1f,%ecx
50016a:	c1 e8 1f             	shr    $0x1f,%eax
50016d:	4b                   	dec    %ebx
50016e:	23 c8                	and    %eax,%ecx
500170:	49                   	dec    %ecx
500171:	8b c1                	mov    %ecx,%eax
500173:	83 e0 01             	and    $0x1,%eax
500176:	2b d0                	sub    %eax,%edx
500178:	2b f0                	sub    %eax,%esi
50017a:	22 0a                	and    (%edx),%cl
50017c:	88 0b                	mov    %cl,(%ebx)
50017e:	83 ef 01             	sub    $0x1,%edi
500181:	75 dd                	jne    0x500160
500183:	89 5c 24 20          	mov    %ebx,0x20(%esp)
500187:	8b 44 24 20          	mov    0x20(%esp),%eax
50018b:	ff 74 24 28          	push   0x28(%esp)
50018f:	0f b6 1b             	movzbl (%ebx),%ebx
500192:	8b 74 24 28          	mov    0x28(%esp),%esi
500196:	8d 78 01             	lea    0x1(%eax),%edi
500199:	40                   	inc    %eax
50019a:	03 c5                	add    %ebp,%eax
50019c:	89 7c 24 14          	mov    %edi,0x14(%esp)
5001a0:	56                   	push   %esi
5001a1:	50                   	push   %eax
5001a2:	8d 5b ff             	lea    -0x1(%ebx),%ebx
5001a5:	89 44 24 48          	mov    %eax,0x48(%esp)
5001a9:	8d 44 24 58          	lea    0x58(%esp),%eax
5001ad:	c1 eb 1f             	shr    $0x1f,%ebx
5001b0:	55                   	push   %ebp
5001b1:	50                   	push   %eax
5001b2:	f7 db                	neg    %ebx
5001b4:	e8 b7 f8 ff ff       	call   0x4ffa70
5001b9:	83 c4 14             	add    $0x14,%esp
5001bc:	85 c0                	test   %eax,%eax
5001be:	0f 85 63 04 00 00    	jne    0x500627
5001c4:	33 d2                	xor    %edx,%edx
5001c6:	85 ed                	test   %ebp,%ebp
5001c8:	0f 8e da 00 00 00    	jle    0x5002a8
5001ce:	83 fd 40             	cmp    $0x40,%ebp
5001d1:	0f 82 bb 00 00 00    	jb     0x500292
5001d7:	8d 47 ff             	lea    -0x1(%edi),%eax
5001da:	8d 74 24 4c          	lea    0x4c(%esp),%esi
5001de:	03 c5                	add    %ebp,%eax
5001e0:	3b f0                	cmp    %eax,%esi
5001e2:	8d 4c 2c 4b          	lea    0x4b(%esp,%ebp,1),%ecx
5001e6:	8b 74 24 24          	mov    0x24(%esp),%esi
5001ea:	77 08                	ja     0x5001f4
5001ec:	3b cf                	cmp    %edi,%ecx
5001ee:	0f 83 9e 00 00 00    	jae    0x500292
5001f4:	8b c5                	mov    %ebp,%eax
5001f6:	25 3f 00 00 80       	and    $0x8000003f,%eax
5001fb:	79 05                	jns    0x500202
5001fd:	48                   	dec    %eax
5001fe:	83 c8 c0             	or     $0xffffffc0,%eax
500201:	40                   	inc    %eax
500202:	8b cd                	mov    %ebp,%ecx
500204:	8d 74 24 4c          	lea    0x4c(%esp),%esi
500208:	2b f7                	sub    %edi,%esi
50020a:	8d 6c 24 5c          	lea    0x5c(%esp),%ebp
50020e:	2b c8                	sub    %eax,%ecx
500210:	89 74 24 44          	mov    %esi,0x44(%esp)
500214:	8b 74 24 24          	mov    0x24(%esp),%esi
500218:	8d 47 20             	lea    0x20(%edi),%eax
50021b:	2b ef                	sub    %edi,%ebp
50021d:	89 6c 24 18          	mov    %ebp,0x18(%esp)
500221:	8b 6c 24 44          	mov    0x44(%esp),%ebp
500225:	8b 7c 24 18          	mov    0x18(%esp),%edi
500229:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
500230:	0f 10 44 14 4c       	movups 0x4c(%esp,%edx,1),%xmm0
500235:	8d 40 40             	lea    0x40(%eax),%eax
500238:	0f 10 48 a0          	movups -0x60(%eax),%xmm1
50023c:	66 0f ef c8          	pxor   %xmm0,%xmm1
500240:	0f 11 4c 14 4c       	movups %xmm1,0x4c(%esp,%edx,1)
500245:	0f 10 44 14 5c       	movups 0x5c(%esp,%edx,1),%xmm0
50024a:	0f 10 48 b0          	movups -0x50(%eax),%xmm1
50024e:	66 0f ef c8          	pxor   %xmm0,%xmm1
500252:	0f 11 4c 14 5c       	movups %xmm1,0x5c(%esp,%edx,1)
500257:	83 c2 40             	add    $0x40,%edx
50025a:	0f 10 44 28 c0       	movups -0x40(%eax,%ebp,1),%xmm0
50025f:	0f 10 48 c0          	movups -0x40(%eax),%xmm1
500263:	66 0f ef c8          	pxor   %xmm0,%xmm1
500267:	0f 11 4c 28 c0       	movups %xmm1,-0x40(%eax,%ebp,1)
50026c:	0f 10 44 07 c0       	movups -0x40(%edi,%eax,1),%xmm0
500271:	0f 10 48 d0          	movups -0x30(%eax),%xmm1
500275:	66 0f ef c8          	pxor   %xmm0,%xmm1
500279:	0f 11 4c 07 c0       	movups %xmm1,-0x40(%edi,%eax,1)
50027e:	3b d1                	cmp    %ecx,%edx
500280:	7c ae                	jl     0x500230
500282:	8b 6c 24 2c          	mov    0x2c(%esp),%ebp
500286:	8b 7c 24 10          	mov    0x10(%esp),%edi
50028a:	89 54 24 18          	mov    %edx,0x18(%esp)
50028e:	3b d5                	cmp    %ebp,%edx
500290:	7d 16                	jge    0x5002a8
500292:	8d 44 24 4c          	lea    0x4c(%esp),%eax
500296:	2b f8                	sub    %eax,%edi
500298:	8d 4c 24 4c          	lea    0x4c(%esp),%ecx
50029c:	03 ca                	add    %edx,%ecx
50029e:	42                   	inc    %edx
50029f:	8a 04 39             	mov    (%ecx,%edi,1),%al
5002a2:	30 01                	xor    %al,(%ecx)
5002a4:	3b d5                	cmp    %ebp,%edx
5002a6:	7c f0                	jl     0x500298
5002a8:	ff 74 24 28          	push   0x28(%esp)
5002ac:	8d 44 24 50          	lea    0x50(%esp),%eax
5002b0:	55                   	push   %ebp
5002b1:	50                   	push   %eax
5002b2:	56                   	push   %esi
5002b3:	ff 74 24 24          	push   0x24(%esp)
5002b7:	e8 b4 f7 ff ff       	call   0x4ffa70
5002bc:	83 c4 14             	add    $0x14,%esp
5002bf:	85 c0                	test   %eax,%eax
5002c1:	0f 85 60 03 00 00    	jne    0x500627
5002c7:	33 ff                	xor    %edi,%edi
5002c9:	85 f6                	test   %esi,%esi
5002cb:	0f 8e e1 00 00 00    	jle    0x5003b2
5002d1:	8b 4c 24 14          	mov    0x14(%esp),%ecx
5002d5:	83 fe 40             	cmp    $0x40,%esi
5002d8:	0f 82 a8 00 00 00    	jb     0x500386
5002de:	8b 54 24 3c          	mov    0x3c(%esp),%edx
5002e2:	8d 42 ff             	lea    -0x1(%edx),%eax
5002e5:	03 c6                	add    %esi,%eax
5002e7:	3b c8                	cmp    %eax,%ecx
5002e9:	77 0d                	ja     0x5002f8
5002eb:	8d 41 ff             	lea    -0x1(%ecx),%eax
5002ee:	03 c6                	add    %esi,%eax
5002f0:	3b c2                	cmp    %edx,%eax
5002f2:	0f 83 8e 00 00 00    	jae    0x500386
5002f8:	8b c6                	mov    %esi,%eax
5002fa:	25 3f 00 00 80       	and    $0x8000003f,%eax
5002ff:	79 05                	jns    0x500306
500301:	48                   	dec    %eax
500302:	83 c8 c0             	or     $0xffffffc0,%eax
500305:	40                   	inc    %eax
500306:	8b ce                	mov    %esi,%ecx
500308:	2b c8                	sub    %eax,%ecx
50030a:	8b 44 24 14          	mov    0x14(%esp),%eax
50030e:	89 4c 24 10          	mov    %ecx,0x10(%esp)
500312:	83 c0 10             	add    $0x10,%eax
500315:	8d 4a 30             	lea    0x30(%edx),%ecx
500318:	2b 54 24 14          	sub    0x14(%esp),%edx
50031c:	89 54 24 18          	mov    %edx,0x18(%esp)
500320:	8b 54 24 10          	mov    0x10(%esp),%edx
500324:	8b 6c 24 18          	mov    0x18(%esp),%ebp
500328:	0f 1f 84 00 00 00 00 	nopl   0x0(%eax,%eax,1)
50032f:	00
500330:	0f 10 40 f0          	movups -0x10(%eax),%xmm0
500334:	83 c7 40             	add    $0x40,%edi
500337:	8d 49 40             	lea    0x40(%ecx),%ecx
50033a:	8d 40 40             	lea    0x40(%eax),%eax
50033d:	0f 10 49 90          	movups -0x70(%ecx),%xmm1
500341:	66 0f ef c8          	pxor   %xmm0,%xmm1
500345:	0f 11 48 b0          	movups %xmm1,-0x50(%eax)
500349:	0f 10 40 c0          	movups -0x40(%eax),%xmm0
50034d:	0f 10 4c 28 c0       	movups -0x40(%eax,%ebp,1),%xmm1
500352:	66 0f ef c8          	pxor   %xmm0,%xmm1
500356:	0f 11 48 c0          	movups %xmm1,-0x40(%eax)
50035a:	0f 10 40 d0          	movups -0x30(%eax),%xmm0
50035e:	0f 10 49 b0          	movups -0x50(%ecx),%xmm1
500362:	66 0f ef c8          	pxor   %xmm0,%xmm1
500366:	0f 10 41 c0          	movups -0x40(%ecx),%xmm0
50036a:	0f 11 48 d0          	movups %xmm1,-0x30(%eax)
50036e:	0f 10 48 e0          	movups -0x20(%eax),%xmm1
500372:	66 0f ef c8          	pxor   %xmm0,%xmm1
500376:	0f 11 48 e0          	movups %xmm1,-0x20(%eax)
50037a:	3b fa                	cmp    %edx,%edi
50037c:	7c b2                	jl     0x500330
50037e:	8b 6c 24 2c          	mov    0x2c(%esp),%ebp
500382:	8b 4c 24 14          	mov    0x14(%esp),%ecx
500386:	3b fe                	cmp    %esi,%edi
500388:	7d 28                	jge    0x5003b2
50038a:	8b 6c 24 3c          	mov    0x3c(%esp),%ebp
50038e:	8b d6                	mov    %esi,%edx
500390:	2b 6c 24 14          	sub    0x14(%esp),%ebp
500394:	03 cf                	add    %edi,%ecx
500396:	2b d7                	sub    %edi,%edx
500398:	0f 1f 84 00 00 00 00 	nopl   0x0(%eax,%eax,1)
50039f:	00
5003a0:	8a 04 29             	mov    (%ecx,%ebp,1),%al
5003a3:	8d 49 01             	lea    0x1(%ecx),%ecx
5003a6:	30 41 ff             	xor    %al,-0x1(%ecx)
5003a9:	83 ea 01             	sub    $0x1,%edx
5003ac:	75 f2                	jne    0x5003a0
5003ae:	8b 6c 24 2c          	mov    0x2c(%esp),%ebp
5003b2:	6a 00                	push   $0x0
5003b4:	ff 74 24 38          	push   0x38(%esp)
5003b8:	8d 84 24 94 00 00 00 	lea    0x94(%esp),%eax
5003bf:	6a 00                	push   $0x0
5003c1:	50                   	push   %eax
5003c2:	ff b4 24 fc 00 00 00 	push   0xfc(%esp)
5003c9:	ff 74 24 30          	push   0x30(%esp)
5003cd:	e8 0e a6 01 00       	call   0x51a9e0
5003d2:	83 c4 18             	add    $0x18,%esp
5003d5:	85 c0                	test   %eax,%eax
5003d7:	0f 84 4a 02 00 00    	je     0x500627
5003dd:	55                   	push   %ebp
5003de:	8d 84 24 90 00 00 00 	lea    0x90(%esp),%eax
5003e5:	50                   	push   %eax
5003e6:	ff 74 24 1c          	push   0x1c(%esp)
5003ea:	e8 61 16 f0 ff       	call   0x401a50
5003ef:	83 c4 0c             	add    $0xc,%esp
5003f2:	8b fd                	mov    %ebp,%edi
5003f4:	8d 48 ff             	lea    -0x1(%eax),%ecx
5003f7:	f7 d0                	not    %eax
5003f9:	c1 e9 1f             	shr    $0x1f,%ecx
5003fc:	c1 e8 1f             	shr    $0x1f,%eax