41a145:	57                   	push   %edi
41a146:	be 08 02 00 00       	mov    $0x208,%esi
41a14b:	33 ff                	xor    %edi,%edi
41a14d:	56                   	push   %esi
41a14e:	57                   	push   %edi
41a14f:	bb 28 1d 42 00       	mov    $0x421d28,%ebx
41a154:	53                   	push   %ebx
41a155:	e8 c7 24 00 00       	call   0x41c621
41a15a:	83 c4 0c             	add    $0xc,%esp
41a15d:	57                   	push   %edi
41a15e:	56                   	push   %esi
41a15f:	53                   	push   %ebx
41a160:	57                   	push   %edi
41a161:	be f0 05 42 00       	mov    $0x4205f0,%esi
41a166:	56                   	push   %esi
41a167:	68 94 5e 40 00       	push   $0x405e94
41a16c:	68 b0 5e 40 00       	push   $0x405eb0
41a171:	ff 15 c4 35 42 00    	call   *0x4235c4
41a177:	85 c0                	test   %eax,%eax
41a179:	78 02                	js     0x41a17d
41a17b:	8b f3                	mov    %ebx,%esi
41a17d:	56                   	push   %esi
41a17e:	57                   	push   %edi
41a17f:	ff 15 b8 35 42 00    	call   *0x4235b8
41a185:	85 c0                	test   %eax,%eax
41a187:	79 08                	jns    0x41a191
41a189:	56                   	push   %esi
41a18a:	57                   	push   %edi
41a18b:	ff 15 bc 35 42 00    	call   *0x4235bc
41a191:	5f                   	pop    %edi
41a192:	8b c6                	mov    %esi,%eax
41a194:	5e                   	pop    %esi
41a195:	5b                   	pop    %ebx
41a196:	c3                   	ret
41a197:	cc                   	int3
41a198:	cc                   	int3
41a199:	cc                   	int3
41a19a:	cc                   	int3
41a19b:	cc                   	int3
41a19c:	cc                   	int3
41a19d:	cc                   	int3
41a19e:	cc                   	int3
41a19f:	cc                   	int3
41a1a0:	8b ff                	mov    %edi,%edi
41a1a2:	55                   	push   %ebp
41a1a3:	8b ec                	mov    %esp,%ebp
41a1a5:	56                   	push   %esi
41a1a6:	57                   	push   %edi
41a1a7:	8b 7d 1c             	mov    0x1c(%ebp),%edi
41a1aa:	85 ff                	test   %edi,%edi
41a1ac:	74 4d                	je     0x41a1fb
41a1ae:	8b 75 14             	mov    0x14(%ebp),%esi
41a1b1:	83 fe 02             	cmp    $0x2,%esi
41a1b4:	72 45                	jb     0x41a1fb
41a1b6:	81 fe fe ff 00 00    	cmp    $0xfffe,%esi
41a1bc:	76 07                	jbe    0x41a1c5
41a1be:	b8 0d 00 00 c0       	mov    $0xc000000d,%eax
41a1c3:	eb 38                	jmp    0x41a1fd
41a1c5:	8b ce                	mov    %esi,%ecx
41a1c7:	e8 b4 0c 00 00       	call   0x41ae80
41a1cc:	89 47 04             	mov    %eax,0x4(%edi)
41a1cf:	85 c0                	test   %eax,%eax
41a1d1:	74 30                	je     0x41a203
41a1d3:	56                   	push   %esi
41a1d4:	ff 75 10             	push   0x10(%ebp)
41a1d7:	0f b7 ce             	movzwl %si,%ecx
41a1da:	66 89 4f 02          	mov    %cx,0x2(%edi)
41a1de:	83 c1 fe             	add    $0xfffffffe,%ecx
41a1e1:	50                   	push   %eax
41a1e2:	66 89 0f             	mov    %cx,(%edi)
41a1e5:	e8 31 24 00 00       	call   0x41c61b
41a1ea:	0f b7 0f             	movzwl (%edi),%ecx
41a1ed:	83 c4 0c             	add    $0xc,%esp
41a1f0:	8b 47 04             	mov    0x4(%edi),%eax
41a1f3:	d1 e9                	shr    $1,%ecx
41a1f5:	33 d2                	xor    %edx,%edx
41a1f7:	66 89 14 48          	mov    %dx,(%eax,%ecx,2)
41a1fb:	33 c0                	xor    %eax,%eax
41a1fd:	5f                   	pop    %edi
41a1fe:	5e                   	pop    %esi
41a1ff:	5d                   	pop    %ebp
41a200:	c2 18 00             	ret    $0x18
41a203:	b8 9a 00 00 c0       	mov    $0xc000009a,%eax
41a208:	eb f3                	jmp    0x41a1fd
41a20a:	cc                   	int3
41a20b:	cc                   	int3
41a20c:	cc                   	int3
41a20d:	cc                   	int3
41a20e:	cc                   	int3
41a20f:	cc                   	int3
41a210:	8b ff                	mov    %edi,%edi
41a212:	55                   	push   %ebp
41a213:	8b ec                	mov    %esp,%ebp
41a215:	8b 55 08             	mov    0x8(%ebp),%edx
41a218:	8b ca                	mov    %edx,%ecx
41a21a:	56                   	push   %esi
41a21b:	be d0 5e 40 00       	mov    $0x405ed0,%esi
41a220:	57                   	push   %edi
41a221:	66 8b 39             	mov    (%ecx),%di
41a224:	33 c0                	xor    %eax,%eax
41a226:	66 3b 3e             	cmp    (%esi),%di
41a229:	75 1e                	jne    0x41a249
41a22b:	66 85 ff             	test   %di,%di
41a22e:	74 15                	je     0x41a245
41a230:	66 8b 79 02          	mov    0x2(%ecx),%di
41a234:	66 3b 7e 02          	cmp    0x2(%esi),%di
41a238:	75 0f                	jne    0x41a249
41a23a:	83 c1 04             	add    $0x4,%ecx
41a23d:	83 c6 04             	add    $0x4,%esi
41a240:	66 85 ff             	test   %di,%di
41a243:	75 dc                	jne    0x41a221
41a245:	8b c8                	mov    %eax,%ecx
41a247:	eb 05                	jmp    0x41a24e
41a249:	1b c9                	sbb    %ecx,%ecx
41a24b:	83 c9 01             	or     $0x1,%ecx
41a24e:	5f                   	pop    %edi
41a24f:	85 c9                	test   %ecx,%ecx
41a251:	75 06                	jne    0x41a259
41a253:	83 7d 14 09          	cmpl   $0x9,0x14(%ebp)
41a257:	76 38                	jbe    0x41a291
41a259:	b9 fc 5e 40 00       	mov    $0x405efc,%ecx
41a25e:	66 8b 32             	mov    (%edx),%si
41a261:	66 3b 31             	cmp    (%ecx),%si
41a264:	75 1c                	jne    0x41a282
41a266:	66 85 f6             	test   %si,%si
41a269:	74 1c                	je     0x41a287
41a26b:	66 8b 72 02          	mov    0x2(%edx),%si
41a26f:	66 3b 71 02          	cmp    0x2(%ecx),%si
41a273:	75 0d                	jne    0x41a282
41a275:	83 c2 04             	add    $0x4,%edx
41a278:	83 c1 04             	add    $0x4,%ecx
41a27b:	66 85 f6             	test   %si,%si
41a27e:	75 de                	jne    0x41a25e
41a280:	eb 05                	jmp    0x41a287
41a282:	1b c0                	sbb    %eax,%eax
41a284:	83 c8 01             	or     $0x1,%eax
41a287:	85 c0                	test   %eax,%eax
41a289:	75 17                	jne    0x41a2a2
41a28b:	83 7d 14 28          	cmpl   $0x28,0x14(%ebp)
41a28f:	77 11                	ja     0x41a2a2
41a291:	ff 75 14             	push   0x14(%ebp)
41a294:	ff 75 10             	push   0x10(%ebp)
41a297:	ff 75 1c             	push   0x1c(%ebp)
41a29a:	e8 7c 23 00 00       	call   0x41c61b
41a29f:	83 c4 0c             	add    $0xc,%esp
41a2a2:	33 c0                	xor    %eax,%eax
41a2a4:	5e                   	pop    %esi
41a2a5:	5d                   	pop    %ebp
41a2a6:	c2 18 00             	ret    $0x18
41a2a9:	8b ff                	mov    %edi,%edi
41a2ab:	55                   	push   %ebp
41a2ac:	8b ec                	mov    %esp,%ebp
41a2ae:	81 ec 6c 02 00 00    	sub    $0x26c,%esp
41a2b4:	a1 e4 05 42 00       	mov    0x4205e4,%eax
41a2b9:	33 c5                	xor    %ebp,%eax
41a2bb:	89 45 fc             	mov    %eax,-0x4(%ebp)
41a2be:	53                   	push   %ebx
41a2bf:	56                   	push   %esi
41a2c0:	57                   	push   %edi
41a2c1:	8b f9                	mov    %ecx,%edi
41a2c3:	e8 79 fe ff ff       	call   0x41a141
41a2c8:	68 68 02 00 00       	push   $0x268
41a2cd:	8b f0                	mov    %eax,%esi
41a2cf:	8d 85 94 fd ff ff    	lea    -0x26c(%ebp),%eax
41a2d5:	6a 00                	push   $0x0
41a2d7:	50                   	push   %eax
41a2d8:	e8 44 23 00 00       	call   0x41c621
41a2dd:	8d 47 0c             	lea    0xc(%edi),%eax
41a2e0:	c7 85 9c fd ff ff 28 	movl   $0x405f28,-0x264(%ebp)
41a2e7:	5f 40 00
41a2ea:	89 85 bc fd ff ff    	mov    %eax,-0x244(%ebp)
41a2f0:	8d 5f 14             	lea    0x14(%edi),%ebx
41a2f3:	89 85 c4 fd ff ff    	mov    %eax,-0x23c(%ebp)
41a2f9:	83 c4 0c             	add    $0xc,%esp
41a2fc:	33 c0                	xor    %eax,%eax
41a2fe:	89 bd a0 fd ff ff    	mov    %edi,-0x260(%ebp)
41a304:	89 85 dc fd ff ff    	mov    %eax,-0x224(%ebp)
41a30a:	89 85 e0 fd ff ff    	mov    %eax,-0x220(%ebp)
41a310:	89 85 e4 fd ff ff    	mov    %eax,-0x21c(%ebp)
41a316:	8d 47 1c             	lea    0x1c(%edi),%eax
41a319:	89 85 f4 fd ff ff    	mov    %eax,-0x20c(%ebp)
41a31f:	33 c0                	xor    %eax,%eax
41a321:	89 85 f8 fd ff ff    	mov    %eax,-0x208(%ebp)
41a327:	89 85 fc fd ff ff    	mov    %eax,-0x204(%ebp)
41a32d:	89 85 00 fe ff ff    	mov    %eax,-0x200(%ebp)
41a333:	8d 47 28             	lea    0x28(%edi),%eax
41a336:	89 85 10 fe ff ff    	mov    %eax,-0x1f0(%ebp)
41a33c:	89 85 18 fe ff ff    	mov    %eax,-0x1e8(%ebp)
41a342:	8d 47 2c             	lea    0x2c(%edi),%eax
41a345:	89 85 2c fe ff ff    	mov    %eax,-0x1d4(%ebp)
41a34b:	89 85 34 fe ff ff    	mov    %eax,-0x1cc(%ebp)
41a351:	8d 47 30             	lea    0x30(%edi),%eax
41a354:	89 85 48 fe ff ff    	mov    %eax,-0x1b8(%ebp)
41a35a:	33 c0                	xor    %eax,%eax
41a35c:	6a 20                	push   $0x20
41a35e:	5a                   	pop    %edx
41a35f:	89 85 4c fe ff ff    	mov    %eax,-0x1b4(%ebp)
41a365:	89 85 50 fe ff ff    	mov    %eax,-0x1b0(%ebp)
41a36b:	89 85 54 fe ff ff    	mov    %eax,-0x1ac(%ebp)
41a371:	8d 47 38             	lea    0x38(%edi),%eax
41a374:	6a 04                	push   $0x4
41a376:	59                   	pop    %ecx
41a377:	89 85 64 fe ff ff    	mov    %eax,-0x19c(%ebp)
41a37d:	33 c0                	xor    %eax,%eax
41a37f:	89 8d a4 fd ff ff    	mov    %ecx,-0x25c(%ebp)
41a385:	89 8d ac fd ff ff    	mov    %ecx,-0x254(%ebp)
41a38b:	89 8d c0 fd ff ff    	mov    %ecx,-0x240(%ebp)
41a391:	89 8d c8 fd ff ff    	mov    %ecx,-0x238(%ebp)
41a397:	b9 a0 a1 41 00       	mov    $0x41a1a0,%ecx
41a39c:	89 85 68 fe ff ff    	mov    %eax,-0x198(%ebp)
41a3a2:	89 85 6c fe ff ff    	mov    %eax,-0x194(%ebp)
41a3a8:	89 85 70 fe ff ff    	mov    %eax,-0x190(%ebp)
41a3ae:	8d 47 44             	lea    0x44(%edi),%eax
41a3b1:	89 95 98 fd ff ff    	mov    %edx,-0x268(%ebp)
41a3b7:	89 bd a8 fd ff ff    	mov    %edi,-0x258(%ebp)
41a3bd:	89 95 b4 fd ff ff    	mov    %edx,-0x24c(%ebp)
41a3c3:	c7 85 b8 fd ff ff 4c 	movl   $0x405f4c,-0x248(%ebp)
41a3ca:	5f 40 00
41a3cd:	89 8d cc fd ff ff    	mov    %ecx,-0x234(%ebp)
41a3d3:	c7 85 d4 fd ff ff 6c 	movl   $0x405f6c,-0x22c(%ebp)
41a3da:	5f 40 00
41a3dd:	89 9d d8 fd ff ff    	mov    %ebx,-0x228(%ebp)
41a3e3:	89 8d e8 fd ff ff    	mov    %ecx,-0x218(%ebp)
41a3e9:	c7 85 f0 fd ff ff 88 	movl   $0x405f88,-0x210(%ebp)
41a3f0:	5f 40 00
41a3f3:	89 95 08 fe ff ff    	mov    %edx,-0x1f8(%ebp)
41a3f9:	c7 85 0c fe ff ff b4 	movl   $0x405fb4,-0x1f4(%ebp)
41a400:	5f 40 00
41a403:	c7 85 14 fe ff ff 04 	movl   $0x4,-0x1ec(%ebp)
41a40a:	00 00 00
41a40d:	c7 85 1c fe ff ff 04 	movl   $0x4,-0x1e4(%ebp)
41a414:	00 00 00
41a417:	89 95 24 fe ff ff    	mov    %edx,-0x1dc(%ebp)
41a41d:	c7 85 28 fe ff ff e8 	movl   $0x405fe8,-0x1d8(%ebp)
41a424:	5f 40 00
41a427:	c7 85 30 fe ff ff 04 	movl   $0x4,-0x1d0(%ebp)
41a42e:	00 00 00
41a431:	c7 85 38 fe ff ff 04 	movl   $0x4,-0x1c8(%ebp)
41a438:	00 00 00
41a43b:	89 8d 3c fe ff ff    	mov    %ecx,-0x1c4(%ebp)
41a441:	c7 85 44 fe ff ff 1c 	movl   $0x40601c,-0x1bc(%ebp)
41a448:	60 40 00
41a44b:	89 8d 58 fe ff ff    	mov    %ecx,-0x1a8(%ebp)
41a451:	c7 85 60 fe ff ff 40 	movl   $0x406040,-0x1a0(%ebp)
41a458:	60 40 00
41a45b:	89 95 78 fe ff ff    	mov    %edx,-0x188(%ebp)
41a461:	c7 85 7c fe ff ff 74 	movl   $0x406074,-0x184(%ebp)
41a468:	60 40 00
41a46b:	89 85 80 fe ff ff    	mov    %eax,-0x180(%ebp)
41a471:	c7 85 84 fe ff ff 04 	movl   $0x4,-0x17c(%ebp)
41a478:	00 00 00
41a47b:	89 85 88 fe ff ff    	mov    %eax,-0x178(%ebp)
41a481:	8d 47 48             	lea    0x48(%edi),%eax
41a484:	89 85 9c fe ff ff    	mov    %eax,-0x164(%ebp)
41a48a:	89 85 a4 fe ff ff    	mov    %eax,-0x15c(%ebp)
41a490:	8d 47 4c             	lea    0x4c(%edi),%eax
41a493:	89 85 b8 fe ff ff    	mov    %eax,-0x148(%ebp)
41a499:	89 85 c0 fe ff ff    	mov    %eax,-0x140(%ebp)
41a49f:	8d 47 50             	lea    0x50(%edi),%eax
41a4a2:	89 85 d4 fe ff ff    	mov    %eax,-0x12c(%ebp)
41a4a8:	89 85 dc fe ff ff    	mov    %eax,-0x124(%ebp)
41a4ae:	8d 47 54             	lea    0x54(%edi),%eax
41a4b1:	89 85 f0 fe ff ff    	mov    %eax,-0x110(%ebp)
41a4b7:	33 c0                	xor    %eax,%eax
41a4b9:	89 85 f4 fe ff ff    	mov    %eax,-0x10c(%ebp)
41a4bf:	89 85 f8 fe ff ff    	mov    %eax,-0x108(%ebp)
41a4c5:	89 85 fc fe ff ff    	mov    %eax,-0x104(%ebp)
41a4cb:	8d 47 40             	lea    0x40(%edi),%eax
41a4ce:	89 85 0c ff ff ff    	mov    %eax,-0xf4(%ebp)
41a4d4:	89 85 14 ff ff ff    	mov    %eax,-0xec(%ebp)
41a4da:	8d 47 10             	lea    0x10(%edi),%eax
41a4dd:	89 85 28 ff ff ff    	mov    %eax,-0xd8(%ebp)
41a4e3:	89 85 30 ff ff ff    	mov    %eax,-0xd0(%ebp)
41a4e9:	8d 47 04             	lea    0x4(%edi),%eax
41a4ec:	89 85 44 ff ff ff    	mov    %eax,-0xbc(%ebp)
41a4f2:	89 85 4c ff ff ff    	mov    %eax,-0xb4(%ebp)
41a4f8:	8d 47 24             	lea    0x24(%edi),%eax
41a4fb:	6a 04                	push   $0x4
41a4fd:	89 85 60 ff ff ff    	mov    %eax,-0xa0(%ebp)
41a503:	89 85 68 ff ff ff    	mov    %eax,-0x98(%ebp)
41a509:	8d 47 5c             	lea    0x5c(%edi),%eax
41a50c:	89 8d e4 fe ff ff    	mov    %ecx,-0x11c(%ebp)
41a512:	59                   	pop    %ecx
41a513:	89 85 7c ff ff ff    	mov    %eax,-0x84(%ebp)
41a519:	89 45 84             	mov    %eax,-0x7c(%ebp)
41a51c:	8d 47 60             	lea    0x60(%edi),%eax
41a51f:	6a 03                	push   $0x3
41a521:	89 95 94 fe ff ff    	mov    %edx,-0x16c(%ebp)
41a527:	89 95 b0 fe ff ff    	mov    %edx,-0x150(%ebp)
41a52d:	89 95 cc fe ff ff    	mov    %edx,-0x134(%ebp)
41a533:	89 95 04 ff ff ff    	mov    %edx,-0xfc(%ebp)
41a539:	89 8d 10 ff ff ff    	mov    %ecx,-0xf0(%ebp)
41a53f:	89 8d 18 ff ff ff    	mov    %ecx,-0xe8(%ebp)
41a545:	89 95 20 ff ff ff    	mov    %edx,-0xe0(%ebp)
41a54b:	ba 10 a2 41 00       	mov    $0x41a210,%edx
41a550:	89 8d 2c ff ff ff    	mov    %ecx,-0xd4(%ebp)
41a556:	89 8d 34 ff ff ff    	mov    %ecx,-0xcc(%ebp)
41a55c:	59                   	pop    %ecx
41a55d:	89 45 98             	mov    %eax,-0x68(%ebp)
41a560:	89 45 a0             	mov    %eax,-0x60(%ebp)
41a563:	8d 47 64             	lea    0x64(%edi),%eax
41a566:	c7 85 8c fe ff ff 04 	movl   $0x4,-0x174(%ebp)
41a56d:	00 00 00
41a570:	c7 85 98 fe ff ff 9c 	movl   $0x40609c,-0x168(%ebp)
41a577:	60 40 00
41a57a:	c7 85 a0 fe ff ff 04 	movl   $0x4,-0x160(%ebp)
41a581:	00 00 00
41a584:	c7 85 a8 fe ff ff 04 	movl   $0x4,-0x158(%ebp)
41a58b:	00 00 00
41a58e:	c7 85 b4 fe ff ff c4 	movl   $0x4060c4,-0x14c(%ebp)
41a595:	60 40 00
41a598:	c7 85 bc fe ff ff 04 	movl   $0x4,-0x144(%ebp)
41a59f:	00 00 00
41a5a2:	c7 85 c4 fe ff ff 04 	movl   $0x4,-0x13c(%ebp)
41a5a9:	00 00 00
41a5ac:	c7 85 d0 fe ff ff d8 	movl   $0x4060d8,-0x130(%ebp)
41a5b3:	60 40 00
41a5b6:	c7 85 d8 fe ff ff 04 	movl   $0x4,-0x128(%ebp)
41a5bd:	00 00 00
41a5c0:	c7 85 e0 fe ff ff 04 	movl   $0x4,-0x120(%ebp)
41a5c7:	00 00 00
41a5ca:	c7 85 ec fe ff ff 0c 	movl   $0x40610c,-0x114(%ebp)
41a5d1:	61 40 00
41a5d4:	c7 85 08 ff ff ff 2c 	movl   $0x40612c,-0xf8(%ebp)
41a5db:	61 40 00
41a5de:	c7 85 24 ff ff ff 60 	movl   $0x406160,-0xdc(%ebp)
41a5e5:	61 40 00
41a5e8:	89 95 38 ff ff ff    	mov    %edx,-0xc8(%ebp)
41a5ee:	c7 85 40 ff ff ff d0 	movl   $0x405ed0,-0xc0(%ebp)
41a5f5:	5e 40 00
41a5f8:	89 8d 48 ff ff ff    	mov    %ecx,-0xb8(%ebp)
41a5fe:	c7 85 50 ff ff ff 08 	movl   $0x8,-0xb0(%ebp)
41a605:	00 00 00
41a608:	c7 85 58 ff ff ff 20 	movl   $0x20,-0xa8(%ebp)
41a60f:	00 00 00
41a612:	c7 85 5c ff ff ff 8c 	movl   $0x40618c,-0xa4(%ebp)
41a619:	61 40 00
41a61c:	c7 85 64 ff ff ff 04 	movl   $0x4,-0x9c(%ebp)
41a623:	00 00 00
41a626:	c7 85 6c ff ff ff 04 	movl   $0x4,-0x94(%ebp)
41a62d:	00 00 00
41a630:	c7 85 74 ff ff ff 20 	movl   $0x20,-0x8c(%ebp)
41a637:	00 00 00
41a63a:	c7 85 78 ff ff ff b8 	movl   $0x4061b8,-0x88(%ebp)
41a641:	61 40 00
41a644:	c7 45 80 04 00 00 00 	movl   $0x4,-0x80(%ebp)
41a64b:	c7 45 88 04 00 00 00 	movl   $0x4,-0x78(%ebp)
41a652:	c7 45 90 20 00 00 00 	movl   $0x20,-0x70(%ebp)
41a659:	c7 45 94 ec 61 40 00 	movl   $0x4061ec,-0x6c(%ebp)
41a660:	c7 45 9c 04 00 00 00 	movl   $0x4,-0x64(%ebp)