4101e4:	74 0d                	je     0x4101f3
4101e6:	6a 00                	push   $0x0
4101e8:	8b cb                	mov    %ebx,%ecx
4101ea:	ff 15 54 91 41 00    	call   *0x419154
4101f0:	ff d3                	call   *%ebx
4101f2:	59                   	pop    %ecx
4101f3:	83 ee 08             	sub    $0x8,%esi
4101f6:	8d 46 04             	lea    0x4(%esi),%eax
4101f9:	3b c7                	cmp    %edi,%eax
4101fb:	75 dd                	jne    0x4101da
4101fd:	32 c0                	xor    %al,%al
4101ff:	eb 02                	jmp    0x410203
410201:	b0 01                	mov    $0x1,%al
410203:	5f                   	pop    %edi
410204:	5e                   	pop    %esi
410205:	5b                   	pop    %ebx
410206:	5d                   	pop    %ebp
410207:	c3                   	ret
410208:	8b ff                	mov    %edi,%edi
41020a:	55                   	push   %ebp
41020b:	8b ec                	mov    %esp,%ebp
41020d:	56                   	push   %esi
41020e:	8b 75 0c             	mov    0xc(%ebp),%esi
410211:	39 75 08             	cmp    %esi,0x8(%ebp)
410214:	74 1e                	je     0x410234
410216:	57                   	push   %edi
410217:	8b 7e fc             	mov    -0x4(%esi),%edi
41021a:	85 ff                	test   %edi,%edi
41021c:	74 0d                	je     0x41022b
41021e:	6a 00                	push   $0x0
410220:	8b cf                	mov    %edi,%ecx
410222:	ff 15 54 91 41 00    	call   *0x419154
410228:	ff d7                	call   *%edi
41022a:	59                   	pop    %ecx
41022b:	83 ee 08             	sub    $0x8,%esi
41022e:	3b 75 08             	cmp    0x8(%ebp),%esi
410231:	75 e4                	jne    0x410217
410233:	5f                   	pop    %edi
410234:	b0 01                	mov    $0x1,%al
410236:	5e                   	pop    %esi
410237:	5d                   	pop    %ebp
410238:	c3                   	ret
410239:	6a 0c                	push   $0xc
41023b:	68 68 02 42 00       	push   $0x420268
410240:	e8 5b 3c ff ff       	call   0x403ea0
410245:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
410249:	8b 45 08             	mov    0x8(%ebp),%eax
41024c:	ff 30                	push   (%eax)
41024e:	e8 39 dd ff ff       	call   0x40df8c
410253:	59                   	pop    %ecx
410254:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
410258:	8b 0d c0 10 42 00    	mov    0x4210c0,%ecx
41025e:	83 e1 1f             	and    $0x1f,%ecx
410261:	8b 35 48 25 42 00    	mov    0x422548,%esi
410267:	33 35 c0 10 42 00    	xor    0x4210c0,%esi
41026d:	d3 ce                	ror    %cl,%esi
41026f:	89 75 e4             	mov    %esi,-0x1c(%ebp)
410272:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
410279:	e8 17 00 00 00       	call   0x410295
41027e:	8b c6                	mov    %esi,%eax
410280:	8b 4d f0             	mov    -0x10(%ebp),%ecx
410283:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
41028a:	59                   	pop    %ecx
41028b:	5f                   	pop    %edi
41028c:	5e                   	pop    %esi
41028d:	5b                   	pop    %ebx
41028e:	c9                   	leave
41028f:	c2 0c 00             	ret    $0xc
410292:	8b 75 e4             	mov    -0x1c(%ebp),%esi
410295:	8b 4d 10             	mov    0x10(%ebp),%ecx
410298:	ff 31                	push   (%ecx)
41029a:	e8 35 dd ff ff       	call   0x40dfd4
41029f:	59                   	pop    %ecx
4102a0:	c3                   	ret
4102a1:	8b ff                	mov    %edi,%edi
4102a3:	55                   	push   %ebp
4102a4:	8b ec                	mov    %esp,%ebp
4102a6:	8b 45 08             	mov    0x8(%ebp),%eax
4102a9:	48                   	dec    %eax
4102aa:	83 e8 01             	sub    $0x1,%eax
4102ad:	74 2d                	je     0x4102dc
4102af:	83 e8 04             	sub    $0x4,%eax
4102b2:	74 21                	je     0x4102d5
4102b4:	83 e8 09             	sub    $0x9,%eax
4102b7:	74 15                	je     0x4102ce
4102b9:	83 e8 06             	sub    $0x6,%eax
4102bc:	74 09                	je     0x4102c7
4102be:	83 e8 01             	sub    $0x1,%eax
4102c1:	74 12                	je     0x4102d5
4102c3:	33 c0                	xor    %eax,%eax
4102c5:	5d                   	pop    %ebp
4102c6:	c3                   	ret
4102c7:	b8 44 25 42 00       	mov    $0x422544,%eax
4102cc:	5d                   	pop    %ebp
4102cd:	c3                   	ret
4102ce:	b8 4c 25 42 00       	mov    $0x42254c,%eax
4102d3:	5d                   	pop    %ebp
4102d4:	c3                   	ret
4102d5:	b8 48 25 42 00       	mov    $0x422548,%eax
4102da:	5d                   	pop    %ebp
4102db:	c3                   	ret
4102dc:	b8 40 25 42 00       	mov    $0x422540,%eax
4102e1:	5d                   	pop    %ebp
4102e2:	c3                   	ret
4102e3:	8b ff                	mov    %edi,%edi
4102e5:	55                   	push   %ebp
4102e6:	8b ec                	mov    %esp,%ebp
4102e8:	6b 0d 60 a2 41 00 0c 	imul   $0xc,0x41a260,%ecx
4102ef:	8b 45 0c             	mov    0xc(%ebp),%eax
4102f2:	03 c8                	add    %eax,%ecx
4102f4:	3b c1                	cmp    %ecx,%eax
4102f6:	74 0f                	je     0x410307
4102f8:	8b 55 08             	mov    0x8(%ebp),%edx
4102fb:	39 50 04             	cmp    %edx,0x4(%eax)
4102fe:	74 09                	je     0x410309
410300:	83 c0 0c             	add    $0xc,%eax
410303:	3b c1                	cmp    %ecx,%eax
410305:	75 f4                	jne    0x4102fb
410307:	33 c0                	xor    %eax,%eax
410309:	5d                   	pop    %ebp
41030a:	c3                   	ret
41030b:	8b ff                	mov    %edi,%edi
41030d:	55                   	push   %ebp
41030e:	8b ec                	mov    %esp,%ebp
410310:	83 ec 0c             	sub    $0xc,%esp
410313:	6a 03                	push   $0x3
410315:	58                   	pop    %eax
410316:	89 45 f8             	mov    %eax,-0x8(%ebp)
410319:	8d 4d ff             	lea    -0x1(%ebp),%ecx
41031c:	89 45 f4             	mov    %eax,-0xc(%ebp)
41031f:	8d 45 f8             	lea    -0x8(%ebp),%eax
410322:	50                   	push   %eax
410323:	8d 45 ff             	lea    -0x1(%ebp),%eax
410326:	50                   	push   %eax
410327:	8d 45 f4             	lea    -0xc(%ebp),%eax
41032a:	50                   	push   %eax
41032b:	e8 09 ff ff ff       	call   0x410239
410330:	c9                   	leave
410331:	c3                   	ret
410332:	8b ff                	mov    %edi,%edi
410334:	55                   	push   %ebp
410335:	8b ec                	mov    %esp,%ebp
410337:	8b 45 08             	mov    0x8(%ebp),%eax
41033a:	a3 40 25 42 00       	mov    %eax,0x422540
41033f:	a3 44 25 42 00       	mov    %eax,0x422544
410344:	a3 48 25 42 00       	mov    %eax,0x422548
410349:	a3 4c 25 42 00       	mov    %eax,0x42254c
41034e:	5d                   	pop    %ebp
41034f:	c3                   	ret
410350:	6a 28                	push   $0x28
410352:	68 48 02 42 00       	push   $0x420248
410357:	e8 44 3b ff ff       	call   0x403ea0
41035c:	33 ff                	xor    %edi,%edi
41035e:	89 7d d8             	mov    %edi,-0x28(%ebp)
410361:	21 7d cc             	and    %edi,-0x34(%ebp)
410364:	b3 01                	mov    $0x1,%bl
410366:	88 5d e7             	mov    %bl,-0x19(%ebp)
410369:	8b 75 08             	mov    0x8(%ebp),%esi
41036c:	83 fe 0b             	cmp    $0xb,%esi
41036f:	7f 57                	jg     0x4103c8
410371:	74 15                	je     0x410388
410373:	8b c6                	mov    %esi,%eax
410375:	6a 02                	push   $0x2
410377:	59                   	pop    %ecx
410378:	2b c1                	sub    %ecx,%eax
41037a:	74 5d                	je     0x4103d9
41037c:	2b c1                	sub    %ecx,%eax
41037e:	74 08                	je     0x410388
410380:	2b c1                	sub    %ecx,%eax
410382:	74 55                	je     0x4103d9
410384:	2b c1                	sub    %ecx,%eax
410386:	75 24                	jne    0x4103ac
410388:	e8 71 c1 ff ff       	call   0x40c4fe
41038d:	8b f8                	mov    %eax,%edi
41038f:	89 7d d8             	mov    %edi,-0x28(%ebp)
410392:	85 ff                	test   %edi,%edi
410394:	75 08                	jne    0x41039e
410396:	83 c8 ff             	or     $0xffffffff,%eax
410399:	e9 80 01 00 00       	jmp    0x41051e
41039e:	ff 37                	push   (%edi)
4103a0:	56                   	push   %esi
4103a1:	e8 3d ff ff ff       	call   0x4102e3
4103a6:	59                   	pop    %ecx
4103a7:	59                   	pop    %ecx
4103a8:	85 c0                	test   %eax,%eax
4103aa:	75 12                	jne    0x4103be
4103ac:	e8 7e a3 ff ff       	call   0x40a72f
4103b1:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4103b7:	e8 0d 71 ff ff       	call   0x4074c9
4103bc:	eb d8                	jmp    0x410396
4103be:	83 c0 08             	add    $0x8,%eax
4103c1:	32 db                	xor    %bl,%bl
4103c3:	88 5d e7             	mov    %bl,-0x19(%ebp)
4103c6:	eb 1a                	jmp    0x4103e2
4103c8:	8b c6                	mov    %esi,%eax
4103ca:	83 e8 0f             	sub    $0xf,%eax
4103cd:	74 0a                	je     0x4103d9
4103cf:	83 e8 06             	sub    $0x6,%eax
4103d2:	74 05                	je     0x4103d9
4103d4:	83 e8 01             	sub    $0x1,%eax
4103d7:	75 d3                	jne    0x4103ac
4103d9:	56                   	push   %esi
4103da:	e8 c2 fe ff ff       	call   0x4102a1
4103df:	83 c4 04             	add    $0x4,%esp
4103e2:	89 45 dc             	mov    %eax,-0x24(%ebp)
4103e5:	83 65 d0 00          	andl   $0x0,-0x30(%ebp)
4103e9:	84 db                	test   %bl,%bl
4103eb:	74 08                	je     0x4103f5
4103ed:	6a 03                	push   $0x3
4103ef:	e8 98 db ff ff       	call   0x40df8c
4103f4:	59                   	pop    %ecx
4103f5:	83 65 d4 00          	andl   $0x0,-0x2c(%ebp)
4103f9:	c6 45 e6 00          	movb   $0x0,-0x1a(%ebp)
4103fd:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
410401:	8b 45 dc             	mov    -0x24(%ebp),%eax
410404:	8b 08                	mov    (%eax),%ecx
410406:	89 4d e0             	mov    %ecx,-0x20(%ebp)
410409:	84 db                	test   %bl,%bl
41040b:	74 0c                	je     0x410419
41040d:	51                   	push   %ecx
41040e:	e8 08 8d ff ff       	call   0x40911b
410413:	59                   	pop    %ecx
410414:	8b c8                	mov    %eax,%ecx
410416:	89 4d e0             	mov    %ecx,-0x20(%ebp)
410419:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
41041c:	83 f9 01             	cmp    $0x1,%ecx
41041f:	0f 94 c7             	sete   %bh
410422:	88 7d e6             	mov    %bh,-0x1a(%ebp)
410425:	84 ff                	test   %bh,%bh
410427:	75 71                	jne    0x41049a
410429:	85 c9                	test   %ecx,%ecx
41042b:	0f 84 fd 00 00 00    	je     0x41052e
410431:	83 fe 08             	cmp    $0x8,%esi
410434:	74 0a                	je     0x410440
410436:	83 fe 0b             	cmp    $0xb,%esi
410439:	74 05                	je     0x410440
41043b:	83 fe 04             	cmp    $0x4,%esi
41043e:	75 29                	jne    0x410469
410440:	8b 47 04             	mov    0x4(%edi),%eax
410443:	89 45 d0             	mov    %eax,-0x30(%ebp)
410446:	83 67 04 00          	andl   $0x0,0x4(%edi)
41044a:	83 fe 08             	cmp    $0x8,%esi
41044d:	75 41                	jne    0x410490
41044f:	e8 59 bf ff ff       	call   0x40c3ad
410454:	8b 40 08             	mov    0x8(%eax),%eax
410457:	89 45 cc             	mov    %eax,-0x34(%ebp)
41045a:	e8 4e bf ff ff       	call   0x40c3ad
41045f:	c7 40 08 8c 00 00 00 	movl   $0x8c,0x8(%eax)
410466:	8b 4d e0             	mov    -0x20(%ebp),%ecx
410469:	83 fe 08             	cmp    $0x8,%esi
41046c:	75 22                	jne    0x410490
41046e:	6b 05 64 a2 41 00 0c 	imul   $0xc,0x41a264,%eax
410475:	03 07                	add    (%edi),%eax
410477:	6b 15 68 a2 41 00 0c 	imul   $0xc,0x41a268,%edx
41047e:	03 d0                	add    %eax,%edx
410480:	89 45 c8             	mov    %eax,-0x38(%ebp)
410483:	3b c2                	cmp    %edx,%eax
410485:	74 13                	je     0x41049a
410487:	83 60 08 00          	andl   $0x0,0x8(%eax)
41048b:	83 c0 0c             	add    $0xc,%eax
41048e:	eb f0                	jmp    0x410480
410490:	a1 c0 10 42 00       	mov    0x4210c0,%eax
410495:	8b 55 dc             	mov    -0x24(%ebp),%edx
410498:	89 02                	mov    %eax,(%edx)
41049a:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4104a1:	e8 34 00 00 00       	call   0x4104da
4104a6:	84 ff                	test   %bh,%bh
4104a8:	75 72                	jne    0x41051c
4104aa:	83 fe 08             	cmp    $0x8,%esi
4104ad:	75 3b                	jne    0x4104ea
4104af:	e8 f9 be ff ff       	call   0x40c3ad
4104b4:	ff 70 08             	push   0x8(%eax)
4104b7:	56                   	push   %esi
4104b8:	8b 5d e0             	mov    -0x20(%ebp),%ebx
4104bb:	8b cb                	mov    %ebx,%ecx
4104bd:	ff 15 54 91 41 00    	call   *0x419154
4104c3:	ff d3                	call   *%ebx
4104c5:	59                   	pop    %ecx
4104c6:	eb 2e                	jmp    0x4104f6
4104c8:	8b 75 08             	mov    0x8(%ebp),%esi
4104cb:	8b 7d d8             	mov    -0x28(%ebp),%edi
4104ce:	8a 5d e7             	mov    -0x19(%ebp),%bl
4104d1:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
4104d4:	89 4d e0             	mov    %ecx,-0x20(%ebp)
4104d7:	8a 7d e6             	mov    -0x1a(%ebp),%bh
4104da:	84 db                	test   %bl,%bl
4104dc:	74 0b                	je     0x4104e9
4104de:	6a 03                	push   $0x3
4104e0:	e8 ef da ff ff       	call   0x40dfd4
4104e5:	59                   	pop    %ecx
4104e6:	8b 4d e0             	mov    -0x20(%ebp),%ecx
4104e9:	c3                   	ret
4104ea:	56                   	push   %esi
4104eb:	ff 15 54 91 41 00    	call   *0x419154
4104f1:	8b 5d e0             	mov    -0x20(%ebp),%ebx
4104f4:	ff d3                	call   *%ebx
4104f6:	59                   	pop    %ecx
4104f7:	83 fe 08             	cmp    $0x8,%esi
4104fa:	74 0a                	je     0x410506
4104fc:	83 fe 0b             	cmp    $0xb,%esi
4104ff:	74 05                	je     0x410506
410501:	83 fe 04             	cmp    $0x4,%esi
410504:	75 16                	jne    0x41051c
410506:	8b 45 d0             	mov    -0x30(%ebp),%eax
410509:	89 47 04             	mov    %eax,0x4(%edi)
41050c:	83 fe 08             	cmp    $0x8,%esi
41050f:	75 0b                	jne    0x41051c
410511:	e8 97 be ff ff       	call   0x40c3ad
410516:	8b 4d cc             	mov    -0x34(%ebp),%ecx
410519:	89 48 08             	mov    %ecx,0x8(%eax)
41051c:	33 c0                	xor    %eax,%eax
41051e:	8b 4d f0             	mov    -0x10(%ebp),%ecx
410521:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
410528:	59                   	pop    %ecx
410529:	5f                   	pop    %edi
41052a:	5e                   	pop    %esi
41052b:	5b                   	pop    %ebx
41052c:	c9                   	leave
41052d:	c3                   	ret
41052e:	84 db                	test   %bl,%bl
410530:	74 08                	je     0x41053a
410532:	6a 03                	push   $0x3
410534:	e8 9b da ff ff       	call   0x40dfd4
410539:	59                   	pop    %ecx
41053a:	6a 03                	push   $0x3
41053c:	e8 e1 97 ff ff       	call   0x409d22
410541:	cc                   	int3
410542:	8b ff                	mov    %edi,%edi
410544:	55                   	push   %ebp
410545:	8b ec                	mov    %esp,%ebp
410547:	8b 4d 08             	mov    0x8(%ebp),%ecx
41054a:	8b c1                	mov    %ecx,%eax
41054c:	53                   	push   %ebx
41054d:	83 e0 10             	and    $0x10,%eax
410550:	bb 00 02 00 00       	mov    $0x200,%ebx
410555:	56                   	push   %esi
410556:	c1 e0 03             	shl    $0x3,%eax
410559:	57                   	push   %edi
41055a:	f6 c1 08             	test   $0x8,%cl
41055d:	74 02                	je     0x410561
41055f:	0b c3                	or     %ebx,%eax
410561:	f6 c1 04             	test   $0x4,%cl
410564:	74 05                	je     0x41056b
410566:	0d 00 04 00 00       	or     $0x400,%eax
41056b:	f6 c1 02             	test   $0x2,%cl
41056e:	74 05                	je     0x410575
410570:	0d 00 08 00 00       	or     $0x800,%eax
410575:	f6 c1 01             	test   $0x1,%cl
410578:	74 05                	je     0x41057f
41057a:	0d 00 10 00 00       	or     $0x1000,%eax