440403:	81 c2 00 bc 00 00    	add    $0xbc00,%edx
440409:	8b c7                	mov    %edi,%eax
44040b:	e8 90 cd ff ff       	call   0x43d1a0
440410:	89 46 0c             	mov    %eax,0xc(%esi)
440413:	b3 01                	mov    $0x1,%bl
440415:	8b c3                	mov    %ebx,%eax
440417:	5f                   	pop    %edi
440418:	5e                   	pop    %esi
440419:	5b                   	pop    %ebx
44041a:	c3                   	ret
44041b:	90                   	nop
44041c:	55                   	push   %ebp
44041d:	8b ec                	mov    %esp,%ebp
44041f:	83 c4 b0             	add    $0xffffffb0,%esp
440422:	53                   	push   %ebx
440423:	56                   	push   %esi
440424:	57                   	push   %edi
440425:	89 55 f8             	mov    %edx,-0x8(%ebp)
440428:	89 45 fc             	mov    %eax,-0x4(%ebp)
44042b:	8b 5d f8             	mov    -0x8(%ebp),%ebx
44042e:	8b 5b 04             	mov    0x4(%ebx),%ebx
440431:	85 db                	test   %ebx,%ebx
440433:	75 14                	jne    0x440449
440435:	8d 45 b0             	lea    -0x50(%ebp),%eax
440438:	50                   	push   %eax
440439:	8b 45 fc             	mov    -0x4(%ebp),%eax
44043c:	e8 27 23 00 00       	call   0x442768
440441:	50                   	push   %eax
440442:	e8 19 67 fc ff       	call   0x406b60
440447:	8b d8                	mov    %eax,%ebx
440449:	33 d2                	xor    %edx,%edx
44044b:	55                   	push   %ebp
44044c:	68 3c 05 44 00       	push   $0x44053c
440451:	64 ff 32             	push   %fs:(%edx)
440454:	64 89 22             	mov    %esp,%fs:(%edx)
440457:	8b 45 fc             	mov    -0x4(%ebp),%eax
44045a:	83 b8 98 01 00 00 00 	cmpl   $0x0,0x198(%eax)
440461:	75 12                	jne    0x440475
440463:	8b d3                	mov    %ebx,%edx
440465:	8b 45 fc             	mov    -0x4(%ebp),%eax
440468:	8b 08                	mov    (%eax),%ecx
44046a:	ff 91 b8 00 00 00    	call   *0xb8(%ecx)
440470:	e9 92 00 00 00       	jmp    0x440507
440475:	53                   	push   %ebx
440476:	e8 4d 66 fc ff       	call   0x406ac8
44047b:	89 45 f0             	mov    %eax,-0x10(%ebp)
44047e:	c7 45 f4 02 00 00 00 	movl   $0x2,-0xc(%ebp)
440485:	8b 45 fc             	mov    -0x4(%ebp),%eax
440488:	8b 80 98 01 00 00    	mov    0x198(%eax),%eax
44048e:	8b 78 08             	mov    0x8(%eax),%edi
440491:	4f                   	dec    %edi
440492:	85 ff                	test   %edi,%edi
440494:	7c 54                	jl     0x4404ea
440496:	47                   	inc    %edi
440497:	33 f6                	xor    %esi,%esi
440499:	8b 45 fc             	mov    -0x4(%ebp),%eax
44049c:	8b 80 98 01 00 00    	mov    0x198(%eax),%eax
4404a2:	8b d6                	mov    %esi,%edx
4404a4:	e8 47 b9 fd ff       	call   0x41bdf0
4404a9:	80 78 57 00          	cmpb   $0x0,0x57(%eax)
4404ad:	75 0c                	jne    0x4404bb
4404af:	f6 40 1c 10          	testb  $0x10,0x1c(%eax)
4404b3:	74 31                	je     0x4404e6
4404b5:	f6 40 51 04          	testb  $0x4,0x51(%eax)
4404b9:	75 2b                	jne    0x4404e6
4404bb:	f6 40 50 40          	testb  $0x40,0x50(%eax)
4404bf:	74 25                	je     0x4404e6
4404c1:	8b 50 44             	mov    0x44(%eax),%edx
4404c4:	03 50 4c             	add    0x4c(%eax),%edx
4404c7:	52                   	push   %edx
4404c8:	8b 50 40             	mov    0x40(%eax),%edx
4404cb:	03 50 48             	add    0x48(%eax),%edx
4404ce:	52                   	push   %edx
4404cf:	8b 50 44             	mov    0x44(%eax),%edx
4404d2:	52                   	push   %edx
4404d3:	8b 40 40             	mov    0x40(%eax),%eax
4404d6:	50                   	push   %eax
4404d7:	53                   	push   %ebx
4404d8:	e8 23 65 fc ff       	call   0x406a00
4404dd:	89 45 f4             	mov    %eax,-0xc(%ebp)
4404e0:	83 7d f4 01          	cmpl   $0x1,-0xc(%ebp)
4404e4:	74 04                	je     0x4404ea
4404e6:	46                   	inc    %esi
4404e7:	4f                   	dec    %edi
4404e8:	75 af                	jne    0x440499
4404ea:	83 7d f4 01          	cmpl   $0x1,-0xc(%ebp)
4404ee:	74 0d                	je     0x4404fd
4404f0:	8b d3                	mov    %ebx,%edx
4404f2:	8b 45 fc             	mov    -0x4(%ebp),%eax
4404f5:	8b 08                	mov    (%eax),%ecx
4404f7:	ff 91 b8 00 00 00    	call   *0xb8(%ecx)
4404fd:	8b 45 f0             	mov    -0x10(%ebp),%eax
440500:	50                   	push   %eax
440501:	53                   	push   %ebx
440502:	e8 b9 65 fc ff       	call   0x406ac0
440507:	33 c9                	xor    %ecx,%ecx
440509:	8b d3                	mov    %ebx,%edx
44050b:	8b 45 fc             	mov    -0x4(%ebp),%eax
44050e:	e8 61 00 00 00       	call   0x440574
440513:	33 c0                	xor    %eax,%eax
440515:	5a                   	pop    %edx
440516:	59                   	pop    %ecx
440517:	59                   	pop    %ecx
440518:	64 89 10             	mov    %edx,%fs:(%eax)
44051b:	68 43 05 44 00       	push   $0x440543
440520:	8b 45 f8             	mov    -0x8(%ebp),%eax
440523:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
440527:	75 12                	jne    0x44053b
440529:	8d 45 b0             	lea    -0x50(%ebp),%eax
44052c:	50                   	push   %eax
44052d:	8b 45 fc             	mov    -0x4(%ebp),%eax
440530:	e8 33 22 00 00       	call   0x442768
440535:	50                   	push   %eax
440536:	e8 1d 67 fc ff       	call   0x406c58
44053b:	c3                   	ret
44053c:	e9 27 36 fc ff       	jmp    0x403b68
440541:	eb dd                	jmp    0x440520
440543:	5f                   	pop    %edi
440544:	5e                   	pop    %esi
440545:	5b                   	pop    %ebx
440546:	8b e5                	mov    %ebp,%esp
440548:	5d                   	pop    %ebp
440549:	c3                   	ret
44054a:	8b c0                	mov    %eax,%eax
44054c:	83 c4 f0             	add    $0xfffffff0,%esp
44054f:	c7 04 24 0f 00 00 00 	movl   $0xf,(%esp)
440556:	89 54 24 04          	mov    %edx,0x4(%esp)
44055a:	33 d2                	xor    %edx,%edx
44055c:	89 54 24 08          	mov    %edx,0x8(%esp)
440560:	33 d2                	xor    %edx,%edx
440562:	89 54 24 0c          	mov    %edx,0xc(%esp)
440566:	8b d4                	mov    %esp,%edx
440568:	8b 08                	mov    (%eax),%ecx
44056a:	ff 51 f0             	call   *-0x10(%ecx)
44056d:	83 c4 10             	add    $0x10,%esp
440570:	c3                   	ret
440571:	8d 40 00             	lea    0x0(%eax),%eax
440574:	53                   	push   %ebx
440575:	56                   	push   %esi
440576:	57                   	push   %edi
440577:	55                   	push   %ebp
440578:	83 c4 e0             	add    $0xffffffe0,%esp
44057b:	8b d9                	mov    %ecx,%ebx
44057d:	8b ea                	mov    %edx,%ebp
44057f:	8b f0                	mov    %eax,%esi
440581:	80 be a8 01 00 00 00 	cmpb   $0x0,0x1a8(%esi)
440588:	74 1f                	je     0x4405a9
44058a:	80 be a7 01 00 00 00 	cmpb   $0x0,0x1a7(%esi)
440591:	74 16                	je     0x4405a9
440593:	83 be 7c 01 00 00 00 	cmpl   $0x0,0x17c(%esi)
44059a:	74 0d                	je     0x4405a9
44059c:	8b 86 7c 01 00 00    	mov    0x17c(%esi),%eax
4405a2:	8b d5                	mov    %ebp,%edx
4405a4:	8b 08                	mov    (%eax),%ecx
4405a6:	ff 51 20             	call   *0x20(%ecx)
4405a9:	8b 86 98 01 00 00    	mov    0x198(%esi),%eax
4405af:	85 c0                	test   %eax,%eax
4405b1:	0f 84 df 00 00 00    	je     0x440696
4405b7:	33 ff                	xor    %edi,%edi
4405b9:	85 db                	test   %ebx,%ebx
4405bb:	74 0f                	je     0x4405cc
4405bd:	8b d3                	mov    %ebx,%edx
4405bf:	e8 88 b8 fd ff       	call   0x41be4c
4405c4:	8b f8                	mov    %eax,%edi
4405c6:	85 ff                	test   %edi,%edi
4405c8:	7d 02                	jge    0x4405cc
4405ca:	33 ff                	xor    %edi,%edi
4405cc:	8b 86 98 01 00 00    	mov    0x198(%esi),%eax
4405d2:	8b 40 08             	mov    0x8(%eax),%eax
4405d5:	89 04 24             	mov    %eax,(%esp)
4405d8:	3b 3c 24             	cmp    (%esp),%edi
4405db:	0f 8d b5 00 00 00    	jge    0x440696
4405e1:	8b 86 98 01 00 00    	mov    0x198(%esi),%eax
4405e7:	8b d7                	mov    %edi,%edx
4405e9:	e8 02 b8 fd ff       	call   0x41bdf0
4405ee:	8b d8                	mov    %eax,%ebx
4405f0:	80 7b 57 00          	cmpb   $0x0,0x57(%ebx)
4405f4:	75 14                	jne    0x44060a
4405f6:	f6 43 1c 10          	testb  $0x10,0x1c(%ebx)
4405fa:	0f 84 8c 00 00 00    	je     0x44068c
440600:	f6 43 51 04          	testb  $0x4,0x51(%ebx)
440604:	0f 85 82 00 00 00    	jne    0x44068c
44060a:	8b 43 44             	mov    0x44(%ebx),%eax
44060d:	03 43 4c             	add    0x4c(%ebx),%eax
440610:	50                   	push   %eax
440611:	8d 44 24 14          	lea    0x14(%esp),%eax
440615:	50                   	push   %eax
440616:	8b 4b 40             	mov    0x40(%ebx),%ecx
440619:	03 4b 48             	add    0x48(%ebx),%ecx
44061c:	8b 53 44             	mov    0x44(%ebx),%edx
44061f:	8b 43 40             	mov    0x40(%ebx),%eax
440622:	e8 8d a1 fd ff       	call   0x41a7b4
440627:	8d 44 24 10          	lea    0x10(%esp),%eax
44062b:	50                   	push   %eax
44062c:	55                   	push   %ebp
44062d:	e8 86 64 fc ff       	call   0x406ab8
440632:	85 c0                	test   %eax,%eax
440634:	74 56                	je     0x44068c
440636:	f6 46 54 80          	testb  $0x80,0x54(%esi)
44063a:	74 06                	je     0x440642
44063c:	66 81 4b 54 80 00    	orw    $0x80,0x54(%ebx)
440642:	55                   	push   %ebp
440643:	e8 80 64 fc ff       	call   0x406ac8
440648:	89 44 24 04          	mov    %eax,0x4(%esp)
44064c:	8b 4b 44             	mov    0x44(%ebx),%ecx
44064f:	8b 53 40             	mov    0x40(%ebx),%edx
440652:	8b c5                	mov    %ebp,%eax
440654:	e8 eb a2 ff ff       	call   0x43a944
440659:	8b 43 4c             	mov    0x4c(%ebx),%eax
44065c:	50                   	push   %eax
44065d:	8b 43 48             	mov    0x48(%ebx),%eax
440660:	50                   	push   %eax
440661:	6a 00                	push   $0x0
440663:	6a 00                	push   $0x0
440665:	55                   	push   %ebp
440666:	e8 1d 64 fc ff       	call   0x406a88
44066b:	6a 00                	push   $0x0
44066d:	8b cd                	mov    %ebp,%ecx
44066f:	ba 0f 00 00 00       	mov    $0xf,%edx
440674:	8b c3                	mov    %ebx,%eax
440676:	e8 25 cb ff ff       	call   0x43d1a0
44067b:	8b 44 24 04          	mov    0x4(%esp),%eax
44067f:	50                   	push   %eax
440680:	55                   	push   %ebp
440681:	e8 3a 64 fc ff       	call   0x406ac0
440686:	66 81 63 54 7f ff    	andw   $0xff7f,0x54(%ebx)
44068c:	47                   	inc    %edi
44068d:	3b 3c 24             	cmp    (%esp),%edi
440690:	0f 8c 4b ff ff ff    	jl     0x4405e1
440696:	8b 86 9c 01 00 00    	mov    0x19c(%esi),%eax
44069c:	85 c0                	test   %eax,%eax
44069e:	0f 84 f8 00 00 00    	je     0x44079c
4406a4:	8b 40 08             	mov    0x8(%eax),%eax
4406a7:	48                   	dec    %eax
4406a8:	85 c0                	test   %eax,%eax
4406aa:	0f 8c ec 00 00 00    	jl     0x44079c
4406b0:	40                   	inc    %eax
4406b1:	89 44 24 0c          	mov    %eax,0xc(%esp)
4406b5:	33 ff                	xor    %edi,%edi
4406b7:	8b 86 9c 01 00 00    	mov    0x19c(%esi),%eax
4406bd:	8b d7                	mov    %edi,%edx
4406bf:	e8 2c b7 fd ff       	call   0x41bdf0
4406c4:	8b d8                	mov    %eax,%ebx
4406c6:	80 bb a5 01 00 00 00 	cmpb   $0x0,0x1a5(%ebx)
4406cd:	0f 84 be 00 00 00    	je     0x440791
4406d3:	f6 43 50 10          	testb  $0x10,0x50(%ebx)
4406d7:	0f 84 b4 00 00 00    	je     0x440791
4406dd:	80 7b 57 00          	cmpb   $0x0,0x57(%ebx)
4406e1:	75 14                	jne    0x4406f7
4406e3:	f6 43 1c 10          	testb  $0x10,0x1c(%ebx)
4406e7:	0f 84 a4 00 00 00    	je     0x440791
4406ed:	f6 43 51 04          	testb  $0x4,0x51(%ebx)
4406f1:	0f 85 9a 00 00 00    	jne    0x440791
4406f7:	b8 10 00 00 ff       	mov    $0xff000010,%eax
4406fc:	e8 83 67 fe ff       	call   0x426e84
440701:	50                   	push   %eax
440702:	e8 e1 62 fc ff       	call   0x4069e8
440707:	89 44 24 08          	mov    %eax,0x8(%esp)
44070b:	8b 44 24 08          	mov    0x8(%esp),%eax
44070f:	50                   	push   %eax
440710:	8b 43 44             	mov    0x44(%ebx),%eax
440713:	03 43 4c             	add    0x4c(%ebx),%eax
440716:	50                   	push   %eax
440717:	8d 44 24 18          	lea    0x18(%esp),%eax
44071b:	50                   	push   %eax
44071c:	8b 4b 40             	mov    0x40(%ebx),%ecx
44071f:	03 4b 48             	add    0x48(%ebx),%ecx
440722:	8b 53 44             	mov    0x44(%ebx),%edx
440725:	4a                   	dec    %edx
440726:	8b 43 40             	mov    0x40(%ebx),%eax
440729:	48                   	dec    %eax
44072a:	e8 85 a0 fd ff       	call   0x41a7b4
44072f:	8d 44 24 14          	lea    0x14(%esp),%eax
440733:	50                   	push   %eax
440734:	55                   	push   %ebp
440735:	e8 4e 65 fc ff       	call   0x406c88
44073a:	8b 44 24 08          	mov    0x8(%esp),%eax
44073e:	50                   	push   %eax
44073f:	e8 b4 62 fc ff       	call   0x4069f8
440744:	b8 14 00 00 ff       	mov    $0xff000014,%eax
440749:	e8 36 67 fe ff       	call   0x426e84
44074e:	50                   	push   %eax
44074f:	e8 94 62 fc ff       	call   0x4069e8
440754:	89 44 24 08          	mov    %eax,0x8(%esp)
440758:	8b 44 24 08          	mov    0x8(%esp),%eax
44075c:	50                   	push   %eax
44075d:	8b 43 44             	mov    0x44(%ebx),%eax
440760:	03 43 4c             	add    0x4c(%ebx),%eax
440763:	40                   	inc    %eax
440764:	50                   	push   %eax
440765:	8d 44 24 18          	lea    0x18(%esp),%eax
440769:	50                   	push   %eax
44076a:	8b 4b 40             	mov    0x40(%ebx),%ecx
44076d:	03 4b 48             	add    0x48(%ebx),%ecx
440770:	41                   	inc    %ecx
440771:	8b 53 44             	mov    0x44(%ebx),%edx
440774:	8b 43 40             	mov    0x40(%ebx),%eax
440777:	e8 38 a0 fd ff       	call   0x41a7b4
44077c:	8d 44 24 14          	lea    0x14(%esp),%eax
440780:	50                   	push   %eax
440781:	55                   	push   %ebp
440782:	e8 01 65 fc ff       	call   0x406c88
440787:	8b 44 24 08          	mov    0x8(%esp),%eax
44078b:	50                   	push   %eax
44078c:	e8 67 62 fc ff       	call   0x4069f8
440791:	47                   	inc    %edi
440792:	ff 4c 24 0c          	decl   0xc(%esp)
440796:	0f 85 1b ff ff ff    	jne    0x4406b7
44079c:	83 c4 20             	add    $0x20,%esp
44079f:	5d                   	pop    %ebp
4407a0:	5f                   	pop    %edi
4407a1:	5e                   	pop    %esi
4407a2:	5b                   	pop    %ebx
4407a3:	c3                   	ret
4407a4:	55                   	push   %ebp
4407a5:	8b ec                	mov    %esp,%ebp
4407a7:	83 c4 e0             	add    $0xffffffe0,%esp
4407aa:	53                   	push   %ebx
4407ab:	56                   	push   %esi
4407ac:	57                   	push   %edi
4407ad:	8b f9                	mov    %ecx,%edi
4407af:	8b f2                	mov    %edx,%esi
4407b1:	8b d8                	mov    %eax,%ebx
4407b3:	66 81 4b 54 80 00    	orw    $0x80,0x54(%ebx)
4407b9:	56                   	push   %esi
4407ba:	e8 09 63 fc ff       	call   0x406ac8
4407bf:	89 45 f4             	mov    %eax,-0xc(%ebp)
4407c2:	8b 4d 08             	mov    0x8(%ebp),%ecx
4407c5:	8b d7                	mov    %edi,%edx
4407c7:	8b c6                	mov    %esi,%eax
4407c9:	e8 76 a1 ff ff       	call   0x43a944
4407ce:	8b 43 4c             	mov    0x4c(%ebx),%eax
4407d1:	50                   	push   %eax
4407d2:	8b 43 48             	mov    0x48(%ebx),%eax
4407d5:	50                   	push   %eax
4407d6:	6a 00                	push   $0x0
4407d8:	6a 00                	push   $0x0
4407da:	56                   	push   %esi
4407db:	e8 a8 62 fc ff       	call   0x406a88
4407e0:	33 ff                	xor    %edi,%edi
4407e2:	33 c0                	xor    %eax,%eax
4407e4:	89 45 f8             	mov    %eax,-0x8(%ebp)
4407e7:	6a ec                	push   $0xffffffec
4407e9:	8b c3                	mov    %ebx,%eax
4407eb:	e8 78 1f 00 00       	call   0x442768
4407f0:	50                   	push   %eax
4407f1:	e8 da 65 fc ff       	call   0x406dd0
4407f6:	f6 c4 02             	test   $0x2,%ah
4407f9:	74 0e                	je     0x440809
4407fb:	c7 45 f8 0a 00 00 00 	movl   $0xa,-0x8(%ebp)