5560b8:	89 46 0c             	mov    %eax,0xc(%esi)
5560bb:	83 c4 18             	add    $0x18,%esp
5560be:	0f b6 47 10          	movzbl 0x10(%edi),%eax
5560c2:	88 46 10             	mov    %al,0x10(%esi)
5560c5:	0f b6 47 12          	movzbl 0x12(%edi),%eax
5560c9:	88 46 12             	mov    %al,0x12(%esi)
5560cc:	0f b6 47 11          	movzbl 0x11(%edi),%eax
5560d0:	88 46 11             	mov    %al,0x11(%esi)
5560d3:	0f b6 47 14          	movzbl 0x14(%edi),%eax
5560d7:	88 46 14             	mov    %al,0x14(%esi)
5560da:	8b 47 38             	mov    0x38(%edi),%eax
5560dd:	89 46 38             	mov    %eax,0x38(%esi)
5560e0:	8b 47 18             	mov    0x18(%edi),%eax
5560e3:	85 c0                	test   %eax,%eax
5560e5:	74 10                	je     0x5560f7
5560e7:	6a 00                	push   $0x0
5560e9:	6a 00                	push   $0x0
5560eb:	50                   	push   %eax
5560ec:	53                   	push   %ebx
5560ed:	e8 6e a7 fa ff       	call   0x500860
5560f2:	83 c4 10             	add    $0x10,%esp
5560f5:	eb 02                	jmp    0x5560f9
5560f7:	33 c0                	xor    %eax,%eax
5560f9:	89 46 18             	mov    %eax,0x18(%esi)
5560fc:	8b 47 1c             	mov    0x1c(%edi),%eax
5560ff:	85 c0                	test   %eax,%eax
556101:	74 10                	je     0x556113
556103:	6a 00                	push   $0x0
556105:	6a 00                	push   $0x0
556107:	50                   	push   %eax
556108:	53                   	push   %ebx
556109:	e8 52 a7 fa ff       	call   0x500860
55610e:	83 c4 10             	add    $0x10,%esp
556111:	eb 02                	jmp    0x556115
556113:	33 c0                	xor    %eax,%eax
556115:	89 46 1c             	mov    %eax,0x1c(%esi)
556118:	c7 46 48 00 00 00 00 	movl   $0x0,0x48(%esi)
55611f:	8a 47 13             	mov    0x13(%edi),%al
556122:	88 46 13             	mov    %al,0x13(%esi)
556125:	8b 45 e4             	mov    -0x1c(%ebp),%eax
556128:	89 30                	mov    %esi,(%eax)
55612a:	85 f6                	test   %esi,%esi
55612c:	74 11                	je     0x55613f
55612e:	8b 7f 24             	mov    0x24(%edi),%edi
556131:	83 c6 24             	add    $0x24,%esi
556134:	89 75 e4             	mov    %esi,-0x1c(%ebp)
556137:	85 ff                	test   %edi,%edi
556139:	0f 85 11 fe ff ff    	jne    0x555f50
55613f:	8b 45 f8             	mov    -0x8(%ebp),%eax
556142:	5e                   	pop    %esi
556143:	5f                   	pop    %edi
556144:	5b                   	pop    %ebx
556145:	8b 4d fc             	mov    -0x4(%ebp),%ecx
556148:	33 cd                	xor    %ebp,%ecx
55614a:	e8 8b b3 08 00       	call   0x5e14da
55614f:	8b e5                	mov    %ebp,%esp
556151:	5d                   	pop    %ebp
556152:	c3                   	ret
556153:	8b 4d fc             	mov    -0x4(%ebp),%ecx
556156:	33 c0                	xor    %eax,%eax
556158:	5f                   	pop    %edi
556159:	33 cd                	xor    %ebp,%ecx
55615b:	5b                   	pop    %ebx
55615c:	e8 79 b3 08 00       	call   0x5e14da
556161:	8b e5                	mov    %ebp,%esp
556163:	5d                   	pop    %ebp
556164:	c3                   	ret
556165:	cc                   	int3
556166:	cc                   	int3
556167:	cc                   	int3
556168:	cc                   	int3
556169:	cc                   	int3
55616a:	cc                   	int3
55616b:	cc                   	int3
55616c:	cc                   	int3
55616d:	cc                   	int3
55616e:	cc                   	int3
55616f:	cc                   	int3
556170:	55                   	push   %ebp
556171:	8b ec                	mov    %esp,%ebp
556173:	83 ec 20             	sub    $0x20,%esp
556176:	a1 d4 89 72 00       	mov    0x7289d4,%eax
55617b:	33 c5                	xor    %ebp,%eax
55617d:	89 45 fc             	mov    %eax,-0x4(%ebp)
556180:	56                   	push   %esi
556181:	8b 75 0c             	mov    0xc(%ebp),%esi
556184:	b8 01 00 00 00       	mov    $0x1,%eax
556189:	66 89 45 f4          	mov    %ax,-0xc(%ebp)
55618d:	c7 45 e4 c0 12 50 00 	movl   $0x5012c0,-0x1c(%ebp)
556194:	c7 45 e8 f0 c7 53 00 	movl   $0x53c7f0,-0x18(%ebp)
55619b:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
5561a2:	57                   	push   %edi
5561a3:	8b 7d 08             	mov    0x8(%ebp),%edi
5561a6:	85 f6                	test   %esi,%esi
5561a8:	0f 84 9a 00 00 00    	je     0x556248
5561ae:	8d 45 e0             	lea    -0x20(%ebp),%eax
5561b1:	56                   	push   %esi
5561b2:	50                   	push   %eax
5561b3:	e8 f8 9d 00 00       	call   0x55ffb0
5561b8:	33 c0                	xor    %eax,%eax
5561ba:	83 c4 08             	add    $0x8,%esp
5561bd:	66 3b 45 f4          	cmp    -0xc(%ebp),%ax
5561c1:	0f 85 81 00 00 00    	jne    0x556248
5561c7:	53                   	push   %ebx
5561c8:	8a 9f c8 00 00 00    	mov    0xc8(%edi),%bl
5561ce:	80 fb 02             	cmp    $0x2,%bl
5561d1:	72 3a                	jb     0x55620d
5561d3:	0f 57 c0             	xorps  %xmm0,%xmm0
5561d6:	89 45 f8             	mov    %eax,-0x8(%ebp)
5561d9:	0f 11 45 e0          	movups %xmm0,-0x20(%ebp)
5561dd:	8d 45 e0             	lea    -0x20(%ebp),%eax
5561e0:	89 7d e0             	mov    %edi,-0x20(%ebp)
5561e3:	66 0f d6 45 f0       	movq   %xmm0,-0x10(%ebp)
5561e8:	56                   	push   %esi
5561e9:	50                   	push   %eax
5561ea:	c7 45 e4 90 31 51 00 	movl   $0x513190,-0x1c(%ebp)
5561f1:	c7 45 e8 c0 31 51 00 	movl   $0x5131c0,-0x18(%ebp)
5561f8:	c6 87 c8 00 00 00 03 	movb   $0x3,0xc8(%edi)
5561ff:	e8 ac 9d 00 00       	call   0x55ffb0
556204:	83 c4 08             	add    $0x8,%esp
556207:	88 9f c8 00 00 00    	mov    %bl,0xc8(%edi)
55620d:	56                   	push   %esi
55620e:	ff 37                	push   (%edi)
556210:	e8 9b 05 fd ff       	call   0x5267b0
556215:	6a 00                	push   $0x0
556217:	6a 34                	push   $0x34
556219:	ff 37                	push   (%edi)
55621b:	e8 c0 b1 fc ff       	call   0x5213e0
556220:	83 c4 14             	add    $0x14,%esp
556223:	8b f0                	mov    %eax,%esi
556225:	5b                   	pop    %ebx
556226:	85 f6                	test   %esi,%esi
556228:	74 1e                	je     0x556248
55622a:	6a 34                	push   $0x34
55622c:	6a 00                	push   $0x0
55622e:	56                   	push   %esi
55622f:	e8 cc d7 08 00       	call   0x5e3a00
556234:	83 c4 0c             	add    $0xc,%esp
556237:	c6 06 77             	movb   $0x77,(%esi)
55623a:	83 c8 ff             	or     $0xffffffff,%eax
55623d:	c7 46 18 01 00 00 00 	movl   $0x1,0x18(%esi)
556244:	66 89 46 22          	mov    %ax,0x22(%esi)
556248:	8b 4d fc             	mov    -0x4(%ebp),%ecx
55624b:	8b c6                	mov    %esi,%eax
55624d:	5f                   	pop    %edi
55624e:	33 cd                	xor    %ebp,%ecx
556250:	5e                   	pop    %esi
556251:	e8 84 b2 08 00       	call   0x5e14da
556256:	8b e5                	mov    %ebp,%esp
556258:	5d                   	pop    %ebp
556259:	c3                   	ret
55625a:	cc                   	int3
55625b:	cc                   	int3
55625c:	cc                   	int3
55625d:	cc                   	int3
55625e:	cc                   	int3
55625f:	cc                   	int3
556260:	55                   	push   %ebp
556261:	8b ec                	mov    %esp,%ebp
556263:	83 ec 30             	sub    $0x30,%esp
556266:	53                   	push   %ebx
556267:	8b 5d 0c             	mov    0xc(%ebp),%ebx
55626a:	56                   	push   %esi
55626b:	57                   	push   %edi
55626c:	33 ff                	xor    %edi,%edi
55626e:	39 7b 44             	cmp    %edi,0x44(%ebx)
556271:	0f 84 d0 03 00 00    	je     0x556647
556277:	39 7b 34             	cmp    %edi,0x34(%ebx)
55627a:	0f 85 c7 03 00 00    	jne    0x556647
556280:	f7 43 04 00 00 10 00 	testl  $0x100000,0x4(%ebx)
556287:	0f 85 ba 03 00 00    	jne    0x556647
55628d:	8b 75 08             	mov    0x8(%ebp),%esi
556290:	8b 46 08             	mov    0x8(%esi),%eax
556293:	89 45 e8             	mov    %eax,-0x18(%ebp)
556296:	85 c0                	test   %eax,%eax
556298:	75 1d                	jne    0x5562b7
55629a:	39 7e 74             	cmp    %edi,0x74(%esi)
55629d:	75 0c                	jne    0x5562ab
55629f:	8b 06                	mov    (%esi),%eax
5562a1:	f6 40 4c 08          	testb  $0x8,0x4c(%eax)
5562a5:	75 04                	jne    0x5562ab
5562a7:	c6 46 17 01          	movb   $0x1,0x17(%esi)
5562ab:	56                   	push   %esi
5562ac:	e8 5f c1 fe ff       	call   0x542410
5562b1:	83 c4 04             	add    $0x4,%esp
5562b4:	89 45 e8             	mov    %eax,-0x18(%ebp)
5562b7:	8b 4b 20             	mov    0x20(%ebx),%ecx
5562ba:	8b 06                	mov    (%esi),%eax
5562bc:	89 4d ec             	mov    %ecx,-0x14(%ebp)
5562bf:	8b 4b 24             	mov    0x24(%ebx),%ecx
5562c2:	89 4d d0             	mov    %ecx,-0x30(%ebp)
5562c5:	8b 4b 28             	mov    0x28(%ebx),%ecx
5562c8:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
5562cb:	8b 4b 2c             	mov    0x2c(%ebx),%ecx
5562ce:	6a 00                	push   $0x0
5562d0:	89 4d d8             	mov    %ecx,-0x28(%ebp)
5562d3:	8b 4b 44             	mov    0x44(%ebx),%ecx
5562d6:	6a 50                	push   $0x50
5562d8:	50                   	push   %eax
5562d9:	89 45 f4             	mov    %eax,-0xc(%ebp)
5562dc:	89 7d fc             	mov    %edi,-0x4(%ebp)
5562df:	89 4d f8             	mov    %ecx,-0x8(%ebp)
5562e2:	e8 39 b2 fc ff       	call   0x521520
5562e7:	8b f8                	mov    %eax,%edi
5562e9:	83 c4 0c             	add    $0xc,%esp
5562ec:	89 7d f0             	mov    %edi,-0x10(%ebp)
5562ef:	85 ff                	test   %edi,%edi
5562f1:	75 27                	jne    0x55631a
5562f3:	8b 45 f4             	mov    -0xc(%ebp),%eax
5562f6:	85 c0                	test   %eax,%eax
5562f8:	74 14                	je     0x55630e
5562fa:	8b 80 f4 00 00 00    	mov    0xf4(%eax),%eax
556300:	85 c0                	test   %eax,%eax
556302:	74 0a                	je     0x55630e
556304:	ff 40 24             	incl   0x24(%eax)
556307:	c7 40 0c 07 00 00 00 	movl   $0x7,0xc(%eax)
55630e:	5f                   	pop    %edi
55630f:	5e                   	pop    %esi
556310:	b8 07 00 00 00       	mov    $0x7,%eax
556315:	5b                   	pop    %ebx
556316:	8b e5                	mov    %ebp,%esp
556318:	5d                   	pop    %ebp
556319:	c3                   	ret
55631a:	8b 43 04             	mov    0x4(%ebx),%eax
55631d:	83 e0 f7             	and    $0xfffffff7,%eax
556320:	c7 43 20 00 00 00 00 	movl   $0x0,0x20(%ebx)
556327:	0d 00 00 10 00       	or     $0x100000,%eax
55632c:	c7 43 24 00 00 00 00 	movl   $0x0,0x24(%ebx)
556333:	89 43 04             	mov    %eax,0x4(%ebx)
556336:	8b 45 f8             	mov    -0x8(%ebp),%eax
556339:	6a 01                	push   $0x1
55633b:	c7 43 28 00 00 00 00 	movl   $0x0,0x28(%ebx)
556342:	c7 43 2c 00 00 00 00 	movl   $0x0,0x2c(%ebx)
556349:	ff 70 08             	push   0x8(%eax)
55634c:	6a 00                	push   $0x0
55634e:	56                   	push   %esi
55634f:	e8 cc ab fa ff       	call   0x500f20
556354:	8b 4d f8             	mov    -0x8(%ebp),%ecx
556357:	6a 01                	push   $0x1
556359:	ff 71 0c             	push   0xc(%ecx)
55635c:	50                   	push   %eax
55635d:	56                   	push   %esi
55635e:	e8 bd ab fa ff       	call   0x500f20
556363:	8b d0                	mov    %eax,%edx
556365:	83 c4 20             	add    $0x20,%esp
556368:	89 55 e4             	mov    %edx,-0x1c(%ebp)
55636b:	85 d2                	test   %edx,%edx
55636d:	74 48                	je     0x5563b7
55636f:	8b 43 30             	mov    0x30(%ebx),%eax
556372:	85 c0                	test   %eax,%eax
556374:	74 41                	je     0x5563b7
556376:	8b 0a                	mov    (%edx),%ecx
556378:	8b 00                	mov    (%eax),%eax
55637a:	89 4d e0             	mov    %ecx,-0x20(%ebp)
55637d:	3b c1                	cmp    %ecx,%eax
55637f:	7f 36                	jg     0x5563b7
556381:	6a ff                	push   $0xffffffff
556383:	89 02                	mov    %eax,(%edx)
556385:	ff 73 30             	push   0x30(%ebx)
556388:	52                   	push   %edx
556389:	e8 a2 14 fd ff       	call   0x527830
55638e:	83 c4 0c             	add    $0xc,%esp
556391:	85 c0                	test   %eax,%eax
556393:	75 1a                	jne    0x5563af
556395:	8b 43 30             	mov    0x30(%ebx),%eax
556398:	85 c0                	test   %eax,%eax
55639a:	74 0c                	je     0x5563a8
55639c:	50                   	push   %eax
55639d:	ff 75 f4             	push   -0xc(%ebp)
5563a0:	e8 5b ac fa ff       	call   0x501000
5563a5:	83 c4 08             	add    $0x8,%esp
5563a8:	c7 43 30 00 00 00 00 	movl   $0x0,0x30(%ebx)
5563af:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
5563b2:	8b 45 e0             	mov    -0x20(%ebp),%eax
5563b5:	89 01                	mov    %eax,(%ecx)
5563b7:	8b 4d f8             	mov    -0x8(%ebp),%ecx
5563ba:	8b 46 28             	mov    0x28(%esi),%eax
5563bd:	89 41 30             	mov    %eax,0x30(%ecx)
5563c0:	8d 45 fc             	lea    -0x4(%ebp),%eax
5563c3:	83 46 28 04          	addl   $0x4,0x28(%esi)
5563c7:	50                   	push   %eax
5563c8:	57                   	push   %edi
5563c9:	ff 73 1c             	push   0x1c(%ebx)
5563cc:	ff 75 ec             	push   -0x14(%ebp)
5563cf:	51                   	push   %ecx
5563d0:	56                   	push   %esi
5563d1:	e8 9a 07 fc ff       	call   0x516b70
5563d6:	8d 45 fc             	lea    -0x4(%ebp),%eax
5563d9:	50                   	push   %eax
5563da:	57                   	push   %edi
5563db:	ff 73 30             	push   0x30(%ebx)
5563de:	8b 5d f8             	mov    -0x8(%ebp),%ebx
5563e1:	ff 75 ec             	push   -0x14(%ebp)
5563e4:	53                   	push   %ebx
5563e5:	56                   	push   %esi
5563e6:	e8 85 07 fc ff       	call   0x516b70
5563eb:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5563ee:	83 c4 30             	add    $0x30,%esp
5563f1:	85 c9                	test   %ecx,%ecx
5563f3:	74 04                	je     0x5563f9
5563f5:	8b 01                	mov    (%ecx),%eax
5563f7:	eb 02                	jmp    0x5563fb
5563f9:	33 c0                	xor    %eax,%eax
5563fb:	6a 00                	push   $0x0
5563fd:	ff 73 08             	push   0x8(%ebx)
556400:	89 43 4c             	mov    %eax,0x4c(%ebx)
556403:	51                   	push   %ecx
556404:	56                   	push   %esi
556405:	e8 16 ab fa ff       	call   0x500f20
55640a:	6a 00                	push   $0x0
55640c:	ff 73 0c             	push   0xc(%ebx)
55640f:	50                   	push   %eax
556410:	56                   	push   %esi
556411:	e8 0a ab fa ff       	call   0x500f20
556416:	8b 55 f8             	mov    -0x8(%ebp),%edx
556419:	8b d8                	mov    %eax,%ebx
55641b:	83 c4 20             	add    $0x20,%esp
55641e:	89 5d fc             	mov    %ebx,-0x4(%ebp)
556421:	8b fa                	mov    %edx,%edi
556423:	8b 47 48             	mov    0x48(%edi),%eax
556426:	8b 48 14             	mov    0x14(%eax),%ecx
556429:	8b 47 2c             	mov    0x2c(%edi),%eax
55642c:	f7 40 04 00 00 10 00 	testl  $0x100000,0x4(%eax)
556433:	74 32                	je     0x556467
556435:	8d 45 fc             	lea    -0x4(%ebp),%eax
556438:	50                   	push   %eax
556439:	ff 75 f0             	push   -0x10(%ebp)
55643c:	51                   	push   %ecx
55643d:	ff 75 ec             	push   -0x14(%ebp)
556440:	52                   	push   %edx
556441:	56                   	push   %esi
556442:	e8 29 07 fc ff       	call   0x516b70
556447:	8b 5d fc             	mov    -0x4(%ebp),%ebx
55644a:	83 c4 18             	add    $0x18,%esp
55644d:	85 db                	test   %ebx,%ebx
55644f:	74 0b                	je     0x55645c
556451:	8b 03                	mov    (%ebx),%eax
556453:	89 47 50             	mov    %eax,0x50(%edi)
556456:	c6 47 60 01          	movb   $0x1,0x60(%edi)
55645a:	eb 2a                	jmp    0x556486
55645c:	33 c0                	xor    %eax,%eax
55645e:	c6 47 60 01          	movb   $0x1,0x60(%edi)
556462:	89 47 50             	mov    %eax,0x50(%edi)
556465:	eb 1f                	jmp    0x556486
556467:	85 db                	test   %ebx,%ebx
556469:	74 04                	je     0x55646f
55646b:	8b 03                	mov    (%ebx),%eax
55646d:	eb 02                	jmp    0x556471
55646f:	33 c0                	xor    %eax,%eax
556471:	6a 00                	push   $0x0