41a2bd:	8d 40 00             	lea    0x0(%eax),%eax
41a2c0:	53                   	push   %ebx
41a2c1:	56                   	push   %esi
41a2c2:	e8 bd 98 fe ff       	call   0x403b84
41a2c7:	8b da                	mov    %edx,%ebx
41a2c9:	8b f0                	mov    %eax,%esi
41a2cb:	8b 46 10             	mov    0x10(%esi),%eax
41a2ce:	85 c0                	test   %eax,%eax
41a2d0:	74 07                	je     0x41a2d9
41a2d2:	8b d6                	mov    %esi,%edx
41a2d4:	e8 17 02 00 00       	call   0x41a4f0
41a2d9:	8b d3                	mov    %ebx,%edx
41a2db:	80 e2 fc             	and    $0xfc,%dl
41a2de:	8b c6                	mov    %esi,%eax
41a2e0:	e8 07 95 fe ff       	call   0x4037ec
41a2e5:	84 db                	test   %bl,%bl
41a2e7:	7e 07                	jle    0x41a2f0
41a2e9:	8b c6                	mov    %esi,%eax
41a2eb:	e8 7c 98 fe ff       	call   0x403b6c
41a2f0:	5e                   	pop    %esi
41a2f1:	5b                   	pop    %ebx
41a2f2:	c3                   	ret
41a2f3:	90                   	nop
41a2f4:	53                   	push   %ebx
41a2f5:	66 83 78 0a 00       	cmpw   $0x0,0xa(%eax)
41a2fa:	74 0b                	je     0x41a307
41a2fc:	8b d8                	mov    %eax,%ebx
41a2fe:	8b 50 10             	mov    0x10(%eax),%edx
41a301:	8b 43 0c             	mov    0xc(%ebx),%eax
41a304:	ff 53 08             	call   *0x8(%ebx)
41a307:	5b                   	pop    %ebx
41a308:	c3                   	ret
41a309:	8d 40 00             	lea    0x0(%eax),%eax
41a30c:	53                   	push   %ebx
41a30d:	56                   	push   %esi
41a30e:	8b d8                	mov    %eax,%ebx
41a310:	8b 43 10             	mov    0x10(%ebx),%eax
41a313:	e8 18 02 00 00       	call   0x41a530
41a318:	8b 43 10             	mov    0x10(%ebx),%eax
41a31b:	66 be ef ff          	mov    $0xffef,%si
41a31f:	e8 e0 96 fe ff       	call   0x403a04
41a324:	5e                   	pop    %esi
41a325:	5b                   	pop    %ebx
41a326:	c3                   	ret
41a327:	90                   	nop
41a328:	53                   	push   %ebx
41a329:	56                   	push   %esi
41a32a:	8b f2                	mov    %edx,%esi
41a32c:	8b d8                	mov    %eax,%ebx
41a32e:	8b 43 10             	mov    0x10(%ebx),%eax
41a331:	3b f0                	cmp    %eax,%esi
41a333:	74 1b                	je     0x41a350
41a335:	85 c0                	test   %eax,%eax
41a337:	74 07                	je     0x41a340
41a339:	8b d3                	mov    %ebx,%edx
41a33b:	e8 b0 01 00 00       	call   0x41a4f0
41a340:	89 73 10             	mov    %esi,0x10(%ebx)
41a343:	85 f6                	test   %esi,%esi
41a345:	74 09                	je     0x41a350
41a347:	8b d3                	mov    %ebx,%edx
41a349:	8b c6                	mov    %esi,%eax
41a34b:	e8 94 01 00 00       	call   0x41a4e4
41a350:	5e                   	pop    %esi
41a351:	5b                   	pop    %ebx
41a352:	c3                   	ret
41a353:	90                   	nop
41a354:	b0 01                	mov    $0x1,%al
41a356:	c3                   	ret
41a357:	90                   	nop
41a358:	55                   	push   %ebp
41a359:	8b ec                	mov    %esp,%ebp
41a35b:	5d                   	pop    %ebp
41a35c:	c2 08 00             	ret    $0x8
41a35f:	90                   	nop
41a360:	8b 40 10             	mov    0x10(%eax),%eax
41a363:	8b 10                	mov    (%eax),%edx
41a365:	ff 52 44             	call   *0x44(%edx)
41a368:	c3                   	ret
41a369:	8d 40 00             	lea    0x0(%eax),%eax
41a36c:	53                   	push   %ebx
41a36d:	56                   	push   %esi
41a36e:	84 d2                	test   %dl,%dl
41a370:	74 08                	je     0x41a37a
41a372:	83 c4 f0             	add    $0xfffffff0,%esp
41a375:	e8 a2 97 fe ff       	call   0x403b1c
41a37a:	8b da                	mov    %edx,%ebx
41a37c:	8b f0                	mov    %eax,%esi
41a37e:	33 d2                	xor    %edx,%edx
41a380:	8b c6                	mov    %esi,%eax
41a382:	e8 cd f6 ff ff       	call   0x419a54
41a387:	b2 01                	mov    $0x1,%dl
41a389:	a1 6c 1c 41 00       	mov    0x411c6c,%eax
41a38e:	e8 39 94 fe ff       	call   0x4037cc
41a393:	89 46 50             	mov    %eax,0x50(%esi)
41a396:	8b c6                	mov    %esi,%eax
41a398:	84 db                	test   %bl,%bl
41a39a:	74 0f                	je     0x41a3ab
41a39c:	e8 d3 97 fe ff       	call   0x403b74
41a3a1:	64 8f 05 00 00 00 00 	pop    %fs:0x0
41a3a8:	83 c4 0c             	add    $0xc,%esp
41a3ab:	8b c6                	mov    %esi,%eax
41a3ad:	5e                   	pop    %esi
41a3ae:	5b                   	pop    %ebx
41a3af:	c3                   	ret
41a3b0:	53                   	push   %ebx
41a3b1:	56                   	push   %esi
41a3b2:	57                   	push   %edi
41a3b3:	e8 cc 97 fe ff       	call   0x403b84
41a3b8:	8b da                	mov    %edx,%ebx
41a3ba:	8b f8                	mov    %eax,%edi
41a3bc:	8b d3                	mov    %ebx,%edx
41a3be:	80 e2 fc             	and    $0xfc,%dl
41a3c1:	8b c7                	mov    %edi,%eax
41a3c3:	e8 d8 f6 ff ff       	call   0x419aa0
41a3c8:	8b 47 30             	mov    0x30(%edi),%eax
41a3cb:	85 c0                	test   %eax,%eax
41a3cd:	74 19                	je     0x41a3e8
41a3cf:	8b d7                	mov    %edi,%edx
41a3d1:	e8 7e f9 ff ff       	call   0x419d54
41a3d6:	eb 10                	jmp    0x41a3e8
41a3d8:	8b c6                	mov    %esi,%eax
41a3da:	e8 f9 9c ff ff       	call   0x4140d8
41a3df:	8b d0                	mov    %eax,%edx
41a3e1:	8b c7                	mov    %edi,%eax
41a3e3:	e8 08 01 00 00       	call   0x41a4f0
41a3e8:	8b 77 50             	mov    0x50(%edi),%esi
41a3eb:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
41a3ef:	7f e7                	jg     0x41a3d8
41a3f1:	8d 47 50             	lea    0x50(%edi),%eax
41a3f4:	e8 df 2f ff ff       	call   0x40d3d8
41a3f9:	84 db                	test   %bl,%bl
41a3fb:	7e 07                	jle    0x41a404
41a3fd:	8b c7                	mov    %edi,%eax
41a3ff:	e8 68 97 fe ff       	call   0x403b6c
41a404:	5f                   	pop    %edi
41a405:	5e                   	pop    %esi
41a406:	5b                   	pop    %ebx
41a407:	c3                   	ret
41a408:	33 c0                	xor    %eax,%eax
41a40a:	c3                   	ret
41a40b:	90                   	nop
41a40c:	c3                   	ret
41a40d:	8d 40 00             	lea    0x0(%eax),%eax
41a410:	53                   	push   %ebx
41a411:	56                   	push   %esi
41a412:	57                   	push   %edi
41a413:	8b d9                	mov    %ecx,%ebx
41a415:	8b f2                	mov    %edx,%esi
41a417:	8b f8                	mov    %eax,%edi
41a419:	8b cb                	mov    %ebx,%ecx
41a41b:	8b d6                	mov    %esi,%edx
41a41d:	8b c7                	mov    %edi,%eax
41a41f:	e8 4c f9 ff ff       	call   0x419d70
41a424:	80 fb 01             	cmp    $0x1,%bl
41a427:	75 0a                	jne    0x41a433
41a429:	3b 77 30             	cmp    0x30(%edi),%esi
41a42c:	75 05                	jne    0x41a433
41a42e:	33 c0                	xor    %eax,%eax
41a430:	89 47 30             	mov    %eax,0x30(%edi)
41a433:	5f                   	pop    %edi
41a434:	5e                   	pop    %esi
41a435:	5b                   	pop    %ebx
41a436:	c3                   	ret
41a437:	90                   	nop
41a438:	c3                   	ret
41a439:	8d 40 00             	lea    0x0(%eax),%eax
41a43c:	53                   	push   %ebx
41a43d:	66 83 78 42 00       	cmpw   $0x0,0x42(%eax)
41a442:	74 0e                	je     0x41a452
41a444:	8b d8                	mov    %eax,%ebx
41a446:	8b d0                	mov    %eax,%edx
41a448:	8b 43 44             	mov    0x44(%ebx),%eax
41a44b:	ff 53 40             	call   *0x40(%ebx)
41a44e:	b0 01                	mov    $0x1,%al
41a450:	5b                   	pop    %ebx
41a451:	c3                   	ret
41a452:	33 c0                	xor    %eax,%eax
41a454:	5b                   	pop    %ebx
41a455:	c3                   	ret
41a456:	8b c0                	mov    %eax,%eax
41a458:	53                   	push   %ebx
41a459:	66 83 78 4a 00       	cmpw   $0x0,0x4a(%eax)
41a45e:	74 0e                	je     0x41a46e
41a460:	8b d8                	mov    %eax,%ebx
41a462:	8b d0                	mov    %eax,%edx
41a464:	8b 43 4c             	mov    0x4c(%ebx),%eax
41a467:	ff 53 48             	call   *0x48(%ebx)
41a46a:	b0 01                	mov    $0x1,%al
41a46c:	5b                   	pop    %ebx
41a46d:	c3                   	ret
41a46e:	33 c0                	xor    %eax,%eax
41a470:	5b                   	pop    %ebx
41a471:	c3                   	ret
41a472:	8b c0                	mov    %eax,%eax
41a474:	55                   	push   %ebp
41a475:	8b ec                	mov    %esp,%ebp
41a477:	53                   	push   %ebx
41a478:	56                   	push   %esi
41a479:	57                   	push   %edi
41a47a:	8b d8                	mov    %eax,%ebx
41a47c:	8b 45 08             	mov    0x8(%ebp),%eax
41a47f:	3b 43 40             	cmp    0x40(%ebx),%eax
41a482:	75 08                	jne    0x41a48c
41a484:	8b 45 0c             	mov    0xc(%ebp),%eax
41a487:	3b 43 44             	cmp    0x44(%ebx),%eax
41a48a:	74 3a                	je     0x41a4c6
41a48c:	8b 43 50             	mov    0x50(%ebx),%eax
41a48f:	8b 70 08             	mov    0x8(%eax),%esi
41a492:	4e                   	dec    %esi
41a493:	85 f6                	test   %esi,%esi
41a495:	7c 1c                	jl     0x41a4b3
41a497:	46                   	inc    %esi
41a498:	33 ff                	xor    %edi,%edi
41a49a:	ff 75 0c             	push   0xc(%ebp)
41a49d:	ff 75 08             	push   0x8(%ebp)
41a4a0:	8b d7                	mov    %edi,%edx
41a4a2:	8b 43 50             	mov    0x50(%ebx),%eax
41a4a5:	e8 3e 9b ff ff       	call   0x413fe8
41a4aa:	8b 10                	mov    (%eax),%edx
41a4ac:	ff 52 10             	call   *0x10(%edx)
41a4af:	47                   	inc    %edi
41a4b0:	4e                   	dec    %esi
41a4b1:	75 e7                	jne    0x41a49a
41a4b3:	8b 45 08             	mov    0x8(%ebp),%eax
41a4b6:	89 43 40             	mov    %eax,0x40(%ebx)
41a4b9:	8b 45 0c             	mov    0xc(%ebp),%eax
41a4bc:	89 43 44             	mov    %eax,0x44(%ebx)
41a4bf:	8b c3                	mov    %ebx,%eax
41a4c1:	8b 10                	mov    (%eax),%edx
41a4c3:	ff 52 30             	call   *0x30(%edx)
41a4c6:	5f                   	pop    %edi
41a4c7:	5e                   	pop    %esi
41a4c8:	5b                   	pop    %ebx
41a4c9:	5d                   	pop    %ebp
41a4ca:	c2 08 00             	ret    $0x8
41a4cd:	8d 40 00             	lea    0x0(%eax),%eax
41a4d0:	53                   	push   %ebx
41a4d1:	66 83 78 3a 00       	cmpw   $0x0,0x3a(%eax)
41a4d6:	74 0a                	je     0x41a4e2
41a4d8:	8b d8                	mov    %eax,%ebx
41a4da:	8b d0                	mov    %eax,%edx
41a4dc:	8b 43 3c             	mov    0x3c(%ebx),%eax
41a4df:	ff 53 38             	call   *0x38(%ebx)
41a4e2:	5b                   	pop    %ebx
41a4e3:	c3                   	ret
41a4e4:	89 42 10             	mov    %eax,0x10(%edx)
41a4e7:	8b 40 50             	mov    0x50(%eax),%eax
41a4ea:	e8 89 99 ff ff       	call   0x413e78
41a4ef:	c3                   	ret
41a4f0:	53                   	push   %ebx
41a4f1:	56                   	push   %esi
41a4f2:	57                   	push   %edi
41a4f3:	55                   	push   %ebp
41a4f4:	8b ea                	mov    %edx,%ebp
41a4f6:	8b f8                	mov    %eax,%edi
41a4f8:	8b 47 50             	mov    0x50(%edi),%eax
41a4fb:	8b 70 08             	mov    0x8(%eax),%esi
41a4fe:	4e                   	dec    %esi
41a4ff:	85 f6                	test   %esi,%esi
41a501:	7c 26                	jl     0x41a529
41a503:	46                   	inc    %esi
41a504:	33 db                	xor    %ebx,%ebx
41a506:	8b 47 50             	mov    0x50(%edi),%eax
41a509:	8b d3                	mov    %ebx,%edx
41a50b:	e8 d8 9a ff ff       	call   0x413fe8
41a510:	3b e8                	cmp    %eax,%ebp
41a512:	75 11                	jne    0x41a525
41a514:	33 c0                	xor    %eax,%eax
41a516:	89 45 10             	mov    %eax,0x10(%ebp)
41a519:	8b 47 50             	mov    0x50(%edi),%eax
41a51c:	8b d3                	mov    %ebx,%edx
41a51e:	e8 a1 99 ff ff       	call   0x413ec4
41a523:	eb 04                	jmp    0x41a529
41a525:	43                   	inc    %ebx
41a526:	4e                   	dec    %esi
41a527:	75 dd                	jne    0x41a506
41a529:	5d                   	pop    %ebp
41a52a:	5f                   	pop    %edi
41a52b:	5e                   	pop    %esi
41a52c:	5b                   	pop    %ebx
41a52d:	c3                   	ret
41a52e:	8b c0                	mov    %eax,%eax
41a530:	53                   	push   %ebx
41a531:	56                   	push   %esi
41a532:	8b f2                	mov    %edx,%esi
41a534:	8b d8                	mov    %eax,%ebx
41a536:	8b 43 30             	mov    0x30(%ebx),%eax
41a539:	3b f0                	cmp    %eax,%esi
41a53b:	74 1b                	je     0x41a558
41a53d:	85 c0                	test   %eax,%eax
41a53f:	74 07                	je     0x41a548
41a541:	8b d3                	mov    %ebx,%edx
41a543:	e8 0c f8 ff ff       	call   0x419d54
41a548:	8b c6                	mov    %esi,%eax
41a54a:	89 43 30             	mov    %eax,0x30(%ebx)
41a54d:	85 c0                	test   %eax,%eax
41a54f:	74 07                	je     0x41a558
41a551:	8b d3                	mov    %ebx,%edx
41a553:	e8 cc f5 ff ff       	call   0x419b24
41a558:	5e                   	pop    %esi
41a559:	5b                   	pop    %ebx
41a55a:	c3                   	ret
41a55b:	90                   	nop
41a55c:	55                   	push   %ebp
41a55d:	8b ec                	mov    %esp,%ebp
41a55f:	53                   	push   %ebx
41a560:	56                   	push   %esi
41a561:	57                   	push   %edi
41a562:	84 d2                	test   %dl,%dl
41a564:	74 08                	je     0x41a56e
41a566:	83 c4 f0             	add    $0xfffffff0,%esp
41a569:	e8 ae 95 fe ff       	call   0x403b1c
41a56e:	8b f1                	mov    %ecx,%esi
41a570:	8b da                	mov    %edx,%ebx
41a572:	8b f8                	mov    %eax,%edi
41a574:	33 d2                	xor    %edx,%edx
41a576:	8b c7                	mov    %edi,%eax
41a578:	e8 4f 92 fe ff       	call   0x4037cc
41a57d:	89 77 0c             	mov    %esi,0xc(%edi)
41a580:	8a 45 08             	mov    0x8(%ebp),%al
41a583:	88 47 10             	mov    %al,0x10(%edi)
41a586:	8b c7                	mov    %edi,%eax
41a588:	84 db                	test   %bl,%bl
41a58a:	74 0f                	je     0x41a59b
41a58c:	e8 e3 95 fe ff       	call   0x403b74
41a591:	64 8f 05 00 00 00 00 	pop    %fs:0x0
41a598:	83 c4 0c             	add    $0xc,%esp
41a59b:	8b c7                	mov    %edi,%eax
41a59d:	5f                   	pop    %edi
41a59e:	5e                   	pop    %esi
41a59f:	5b                   	pop    %ebx
41a5a0:	5d                   	pop    %ebp
41a5a1:	c2 04 00             	ret    $0x4
41a5a4:	53                   	push   %ebx
41a5a5:	56                   	push   %esi
41a5a6:	e8 d9 95 fe ff       	call   0x403b84
41a5ab:	8b da                	mov    %edx,%ebx
41a5ad:	8b f0                	mov    %eax,%esi
41a5af:	80 7e 10 01          	cmpb   $0x1,0x10(%esi)
41a5b3:	75 0d                	jne    0x41a5c2
41a5b5:	8b 46 0c             	mov    0xc(%esi),%eax
41a5b8:	e8 3f 92 fe ff       	call   0x4037fc
41a5bd:	33 c0                	xor    %eax,%eax
41a5bf:	89 46 0c             	mov    %eax,0xc(%esi)
41a5c2:	8b d3                	mov    %ebx,%edx
41a5c4:	80 e2 fc             	and    $0xfc,%dl
41a5c7:	8b c6                	mov    %esi,%eax
41a5c9:	e8 1e 92 fe ff       	call   0x4037ec
41a5ce:	84 db                	test   %bl,%bl
41a5d0:	7e 07                	jle    0x41a5d9