45131b:	c3                   	ret
45131c:	53                   	push   %ebx
45131d:	56                   	push   %esi
45131e:	8b f2                	mov    %edx,%esi
451320:	8b d8                	mov    %eax,%ebx
451322:	f6 43 1c 10          	testb  $0x10,0x1c(%ebx)
451326:	75 25                	jne    0x45134d
451328:	66 83 7e 04 20       	cmpw   $0x20,0x4(%esi)
45132d:	74 1e                	je     0x45134d
45132f:	8b 46 08             	mov    0x8(%esi),%eax
451332:	50                   	push   %eax
451333:	b2 01                	mov    $0x1,%dl
451335:	8b c3                	mov    %ebx,%eax
451337:	e8 84 b3 00 00       	call   0x45c6c0
45133c:	0f b7 4e 04          	movzwl 0x4(%esi),%ecx
451340:	ba 06 b0 00 00       	mov    $0xb006,%edx
451345:	e8 e2 9d ff ff       	call   0x44b12c
45134a:	89 46 0c             	mov    %eax,0xc(%esi)
45134d:	5e                   	pop    %esi
45134e:	5b                   	pop    %ebx
45134f:	c3                   	ret
451350:	55                   	push   %ebp
451351:	8b ec                	mov    %esp,%ebp
451353:	83 c4 c4             	add    $0xffffffc4,%esp
451356:	53                   	push   %ebx
451357:	56                   	push   %esi
451358:	57                   	push   %edi
451359:	8b f9                	mov    %ecx,%edi
45135b:	8b f2                	mov    %edx,%esi
45135d:	8b d8                	mov    %eax,%ebx
45135f:	3b 73 40             	cmp    0x40(%ebx),%esi
451362:	75 19                	jne    0x45137d
451364:	3b 7b 44             	cmp    0x44(%ebx),%edi
451367:	75 14                	jne    0x45137d
451369:	8b 45 0c             	mov    0xc(%ebp),%eax
45136c:	3b 43 48             	cmp    0x48(%ebx),%eax
45136f:	75 0c                	jne    0x45137d
451371:	8b 45 08             	mov    0x8(%ebp),%eax
451374:	3b 43 4c             	cmp    0x4c(%ebx),%eax
451377:	0f 84 a4 00 00 00    	je     0x451421
45137d:	8b c3                	mov    %ebx,%eax
45137f:	e8 c8 09 00 00       	call   0x451d4c
451384:	84 c0                	test   %al,%al
451386:	74 2c                	je     0x4513b4
451388:	8b 83 b4 01 00 00    	mov    0x1b4(%ebx),%eax
45138e:	50                   	push   %eax
45138f:	e8 84 5d fb ff       	call   0x407118
451394:	85 c0                	test   %eax,%eax
451396:	75 1c                	jne    0x4513b4
451398:	6a 14                	push   $0x14
45139a:	8b 45 08             	mov    0x8(%ebp),%eax
45139d:	50                   	push   %eax
45139e:	8b 45 0c             	mov    0xc(%ebp),%eax
4513a1:	50                   	push   %eax
4513a2:	57                   	push   %edi
4513a3:	56                   	push   %esi
4513a4:	6a 00                	push   $0x0
4513a6:	8b 83 b4 01 00 00    	mov    0x1b4(%ebx),%eax
4513ac:	50                   	push   %eax
4513ad:	e8 2e 5f fb ff       	call   0x4072e0
4513b2:	eb 58                	jmp    0x45140c
4513b4:	89 73 40             	mov    %esi,0x40(%ebx)
4513b7:	89 7b 44             	mov    %edi,0x44(%ebx)
4513ba:	8b 45 0c             	mov    0xc(%ebp),%eax
4513bd:	89 43 48             	mov    %eax,0x48(%ebx)
4513c0:	8b 45 08             	mov    0x8(%ebp),%eax
4513c3:	89 43 4c             	mov    %eax,0x4c(%ebx)
4513c6:	8b c3                	mov    %ebx,%eax
4513c8:	e8 7f 09 00 00       	call   0x451d4c
4513cd:	84 c0                	test   %al,%al
4513cf:	74 3b                	je     0x45140c
4513d1:	c7 45 d4 2c 00 00 00 	movl   $0x2c,-0x2c(%ebp)
4513d8:	8d 45 d4             	lea    -0x2c(%ebp),%eax
4513db:	50                   	push   %eax
4513dc:	8b 83 b4 01 00 00    	mov    0x1b4(%ebx),%eax
4513e2:	50                   	push   %eax
4513e3:	e8 c8 5c fb ff       	call   0x4070b0
4513e8:	8d 55 c4             	lea    -0x3c(%ebp),%edx
4513eb:	8b c3                	mov    %ebx,%eax
4513ed:	e8 92 83 ff ff       	call   0x449784
4513f2:	8d 75 c4             	lea    -0x3c(%ebp),%esi
4513f5:	8d 7d f0             	lea    -0x10(%ebp),%edi
4513f8:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4513f9:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4513fa:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4513fb:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4513fc:	8d 45 d4             	lea    -0x2c(%ebp),%eax
4513ff:	50                   	push   %eax
451400:	8b 83 b4 01 00 00    	mov    0x1b4(%ebx),%eax
451406:	50                   	push   %eax
451407:	e8 cc 5e fb ff       	call   0x4072d8
45140c:	8b c3                	mov    %ebx,%eax
45140e:	e8 5d 7f ff ff       	call   0x449370
451413:	8b c3                	mov    %ebx,%eax
451415:	e8 2e b6 ff ff       	call   0x44ca48
45141a:	8b c3                	mov    %ebx,%eax
45141c:	8b 10                	mov    (%eax),%edx
45141e:	ff 52 5c             	call   *0x5c(%edx)
451421:	5f                   	pop    %edi
451422:	5e                   	pop    %esi
451423:	5b                   	pop    %ebx
451424:	8b e5                	mov    %ebp,%esp
451426:	5d                   	pop    %ebp
451427:	c2 08 00             	ret    $0x8
45142a:	8b c0                	mov    %eax,%eax
45142c:	53                   	push   %ebx
45142d:	56                   	push   %esi
45142e:	57                   	push   %edi
45142f:	55                   	push   %ebp
451430:	83 c4 f8             	add    $0xfffffff8,%esp
451433:	89 4c 24 04          	mov    %ecx,0x4(%esp)
451437:	89 14 24             	mov    %edx,(%esp)
45143a:	8b e8                	mov    %eax,%ebp
45143c:	8b c5                	mov    %ebp,%eax
45143e:	e8 c1 c8 ff ff       	call   0x44dd04
451443:	8b d8                	mov    %eax,%ebx
451445:	4b                   	dec    %ebx
451446:	85 db                	test   %ebx,%ebx
451448:	7c 20                	jl     0x45146a
45144a:	43                   	inc    %ebx
45144b:	33 ff                	xor    %edi,%edi
45144d:	8b d7                	mov    %edi,%edx
45144f:	8b c5                	mov    %ebp,%eax
451451:	e8 72 c8 ff ff       	call   0x44dcc8
451456:	8b 4c 24 04          	mov    0x4(%esp),%ecx
45145a:	8b 14 24             	mov    (%esp),%edx
45145d:	66 be ec ff          	mov    $0xffec,%si
451461:	e8 b2 26 fb ff       	call   0x403b18
451466:	47                   	inc    %edi
451467:	4b                   	dec    %ebx
451468:	75 e3                	jne    0x45144d
45146a:	59                   	pop    %ecx
45146b:	5a                   	pop    %edx
45146c:	5d                   	pop    %ebp
45146d:	5f                   	pop    %edi
45146e:	5e                   	pop    %esi
45146f:	5b                   	pop    %ebx
451470:	c3                   	ret
451471:	8d 40 00             	lea    0x0(%eax),%eax
451474:	55                   	push   %ebp
451475:	8b ec                	mov    %esp,%ebp
451477:	51                   	push   %ecx
451478:	53                   	push   %ebx
451479:	56                   	push   %esi
45147a:	8b f1                	mov    %ecx,%esi
45147c:	8b da                	mov    %edx,%ebx
45147e:	89 45 fc             	mov    %eax,-0x4(%ebp)
451481:	8b 45 fc             	mov    -0x4(%ebp),%eax
451484:	e8 97 c3 ff ff       	call   0x44d820
451489:	33 c0                	xor    %eax,%eax
45148b:	55                   	push   %ebp
45148c:	68 12 15 45 00       	push   $0x451512
451491:	64 ff 30             	push   %fs:(%eax)
451494:	64 89 20             	mov    %esp,%fs:(%eax)
451497:	8b ce                	mov    %esi,%ecx
451499:	8b d3                	mov    %ebx,%edx
45149b:	8b 45 fc             	mov    -0x4(%ebp),%eax
45149e:	e8 89 ff ff ff       	call   0x45142c
4514a3:	3b f3                	cmp    %ebx,%esi
4514a5:	74 49                	je     0x4514f0
4514a7:	8b 45 fc             	mov    -0x4(%ebp),%eax
4514aa:	f6 40 1c 02          	testb  $0x2,0x1c(%eax)
4514ae:	74 40                	je     0x4514f0
4514b0:	8b 45 fc             	mov    -0x4(%ebp),%eax
4514b3:	f6 80 8c 00 00 00 20 	testb  $0x20,0x8c(%eax)
4514ba:	74 34                	je     0x4514f0
4514bc:	56                   	push   %esi
4514bd:	53                   	push   %ebx
4514be:	8b 45 fc             	mov    -0x4(%ebp),%eax
4514c1:	8b 80 42 02 00 00    	mov    0x242(%eax),%eax
4514c7:	50                   	push   %eax
4514c8:	e8 1b 56 fb ff       	call   0x406ae8
4514cd:	8b 55 fc             	mov    -0x4(%ebp),%edx
4514d0:	89 82 42 02 00 00    	mov    %eax,0x242(%edx)
4514d6:	56                   	push   %esi
4514d7:	53                   	push   %ebx
4514d8:	8b 45 fc             	mov    -0x4(%ebp),%eax
4514db:	8b 80 46 02 00 00    	mov    0x246(%eax),%eax
4514e1:	50                   	push   %eax
4514e2:	e8 01 56 fb ff       	call   0x406ae8
4514e7:	8b 55 fc             	mov    -0x4(%ebp),%edx
4514ea:	89 82 46 02 00 00    	mov    %eax,0x246(%edx)
4514f0:	8b ce                	mov    %esi,%ecx
4514f2:	8b d3                	mov    %ebx,%edx
4514f4:	8b 45 fc             	mov    -0x4(%ebp),%eax
4514f7:	e8 80 85 ff ff       	call   0x449a7c
4514fc:	33 c0                	xor    %eax,%eax
4514fe:	5a                   	pop    %edx
4514ff:	59                   	pop    %ecx
451500:	59                   	pop    %ecx
451501:	64 89 10             	mov    %edx,%fs:(%eax)
451504:	68 19 15 45 00       	push   $0x451519
451509:	8b 45 fc             	mov    -0x4(%ebp),%eax
45150c:	e8 17 c3 ff ff       	call   0x44d828
451511:	c3                   	ret
451512:	e9 99 2b fb ff       	jmp    0x4040b0
451517:	eb f0                	jmp    0x451509
451519:	5e                   	pop    %esi
45151a:	5b                   	pop    %ebx
45151b:	59                   	pop    %ecx
45151c:	5d                   	pop    %ebp
45151d:	c3                   	ret
45151e:	8b c0                	mov    %eax,%eax
451520:	53                   	push   %ebx
451521:	56                   	push   %esi
451522:	57                   	push   %edi
451523:	55                   	push   %ebp
451524:	83 c4 f4             	add    $0xfffffff4,%esp
451527:	89 4c 24 04          	mov    %ecx,0x4(%esp)
45152b:	89 14 24             	mov    %edx,(%esp)
45152e:	8b f8                	mov    %eax,%edi
451530:	8b 9f b4 01 00 00    	mov    0x1b4(%edi),%ebx
451536:	85 db                	test   %ebx,%ebx
451538:	74 0a                	je     0x451544
45153a:	53                   	push   %ebx
45153b:	e8 00 5c fb ff       	call   0x407140
451540:	85 c0                	test   %eax,%eax
451542:	75 04                	jne    0x451548
451544:	33 c0                	xor    %eax,%eax
451546:	eb 02                	jmp    0x45154a
451548:	b0 01                	mov    $0x1,%al
45154a:	88 44 24 08          	mov    %al,0x8(%esp)
45154e:	80 7c 24 08 00       	cmpb   $0x0,0x8(%esp)
451553:	74 1a                	je     0x45156f
451555:	6a 00                	push   $0x0
451557:	6a 00                	push   $0x0
451559:	8b 44 24 0c          	mov    0xc(%esp),%eax
45155d:	50                   	push   %eax
45155e:	8b 44 24 0c          	mov    0xc(%esp),%eax
451562:	50                   	push   %eax
451563:	8b 87 b4 01 00 00    	mov    0x1b4(%edi),%eax
451569:	50                   	push   %eax
45156a:	e8 b9 5c fb ff       	call   0x407228
45156f:	8b c7                	mov    %edi,%eax
451571:	e8 8e c7 ff ff       	call   0x44dd04
451576:	8b f0                	mov    %eax,%esi
451578:	4e                   	dec    %esi
451579:	85 f6                	test   %esi,%esi
45157b:	7c 6c                	jl     0x4515e9
45157d:	46                   	inc    %esi
45157e:	33 ed                	xor    %ebp,%ebp
451580:	8b d5                	mov    %ebp,%edx
451582:	8b c7                	mov    %edi,%eax
451584:	e8 3f c7 ff ff       	call   0x44dcc8
451589:	8b d8                	mov    %eax,%ebx
45158b:	8b c3                	mov    %ebx,%eax
45158d:	8b 15 bc 59 44 00    	mov    0x4459bc,%edx
451593:	e8 10 25 fb ff       	call   0x403aa8
451598:	84 c0                	test   %al,%al
45159a:	74 09                	je     0x4515a5
45159c:	83 bb b4 01 00 00 00 	cmpl   $0x0,0x1b4(%ebx)
4515a3:	75 0f                	jne    0x4515b4
4515a5:	8b 04 24             	mov    (%esp),%eax
4515a8:	01 43 40             	add    %eax,0x40(%ebx)
4515ab:	8b 44 24 04          	mov    0x4(%esp),%eax
4515af:	01 43 44             	add    %eax,0x44(%ebx)
4515b2:	eb 31                	jmp    0x4515e5
4515b4:	80 7c 24 08 00       	cmpb   $0x0,0x8(%esp)
4515b9:	75 2a                	jne    0x4515e5
4515bb:	6a 14                	push   $0x14
4515bd:	8b c3                	mov    %ebx,%eax
4515bf:	8b 50 4c             	mov    0x4c(%eax),%edx
4515c2:	52                   	push   %edx
4515c3:	8b 50 48             	mov    0x48(%eax),%edx
4515c6:	52                   	push   %edx
4515c7:	8b 50 44             	mov    0x44(%eax),%edx
4515ca:	03 54 24 10          	add    0x10(%esp),%edx
4515ce:	52                   	push   %edx
4515cf:	8b 50 40             	mov    0x40(%eax),%edx
4515d2:	03 54 24 10          	add    0x10(%esp),%edx
4515d6:	52                   	push   %edx
4515d7:	6a 00                	push   $0x0
4515d9:	8b 80 b4 01 00 00    	mov    0x1b4(%eax),%eax
4515df:	50                   	push   %eax
4515e0:	e8 fb 5c fb ff       	call   0x4072e0
4515e5:	45                   	inc    %ebp
4515e6:	4e                   	dec    %esi
4515e7:	75 97                	jne    0x451580
4515e9:	8b c7                	mov    %edi,%eax
4515eb:	e8 58 c2 ff ff       	call   0x44d848
4515f0:	83 c4 0c             	add    $0xc,%esp
4515f3:	5d                   	pop    %ebp
4515f4:	5f                   	pop    %edi
4515f5:	5e                   	pop    %esi
4515f6:	5b                   	pop    %ebx
4515f7:	c3                   	ret
4515f8:	56                   	push   %esi
4515f9:	8b 70 30             	mov    0x30(%eax),%esi
4515fc:	85 f6                	test   %esi,%esi
4515fe:	74 0c                	je     0x45160c
451600:	8b d0                	mov    %eax,%edx
451602:	8b c6                	mov    %esi,%eax
451604:	8b 08                	mov    (%eax),%ecx
451606:	ff 91 cc 00 00 00    	call   *0xcc(%ecx)
45160c:	5e                   	pop    %esi
45160d:	c3                   	ret
45160e:	8b c0                	mov    %eax,%eax
451610:	53                   	push   %ebx
451611:	56                   	push   %esi
451612:	57                   	push   %edi
451613:	55                   	push   %ebp
451614:	8b f2                	mov    %edx,%esi
451616:	8b d8                	mov    %eax,%ebx
451618:	8b 43 30             	mov    0x30(%ebx),%eax
45161b:	85 c0                	test   %eax,%eax
45161d:	0f 84 bf 00 00 00    	je     0x4516e2
451623:	8b 90 cc 01 00 00    	mov    0x1cc(%eax),%edx
451629:	85 d2                	test   %edx,%edx
45162b:	74 03                	je     0x451630
45162d:	2b 72 08             	sub    0x8(%edx),%esi
451630:	8b 80 d0 01 00 00    	mov    0x1d0(%eax),%eax
451636:	8b d3                	mov    %ebx,%edx
451638:	e8 f7 6b fc ff       	call   0x418234
45163d:	8b f8                	mov    %eax,%edi
45163f:	85 ff                	test   %edi,%edi
451641:	7c 38                	jl     0x45167b
451643:	8b 43 30             	mov    0x30(%ebx),%eax
451646:	8b 90 d0 01 00 00    	mov    0x1d0(%eax),%edx
45164c:	8b 42 08             	mov    0x8(%edx),%eax
45164f:	85 f6                	test   %esi,%esi
451651:	7d 02                	jge    0x451655
451653:	33 f6                	xor    %esi,%esi
451655:	3b c6                	cmp    %esi,%eax
451657:	7f 03                	jg     0x45165c
451659:	8b f0                	mov    %eax,%esi
45165b:	4e                   	dec    %esi
45165c:	3b fe                	cmp    %esi,%edi
45165e:	74 1b                	je     0x45167b
451660:	8b c2                	mov    %edx,%eax
451662:	8b d7                	mov    %edi,%edx
451664:	e8 5b 6a fc ff       	call   0x4180c4
451669:	8b 43 30             	mov    0x30(%ebx),%eax
45166c:	8b 80 d0 01 00 00    	mov    0x1d0(%eax),%eax
451672:	8b cb                	mov    %ebx,%ecx
451674:	8b d6                	mov    %esi,%edx
451676:	e8 d9 6b fc ff       	call   0x418254
45167b:	83 bb b4 01 00 00 00 	cmpl   $0x0,0x1b4(%ebx)
451682:	74 5e                	je     0x4516e2
451684:	85 f6                	test   %esi,%esi
451686:	75 07                	jne    0x45168f
451688:	b8 01 00 00 00       	mov    $0x1,%eax
45168d:	eb 3c                	jmp    0x4516cb
45168f:	8b 43 30             	mov    0x30(%ebx),%eax
451692:	8b a8 d0 01 00 00    	mov    0x1d0(%eax),%ebp
451698:	8b 45 08             	mov    0x8(%ebp),%eax
45169b:	48                   	dec    %eax
45169c:	3b f0                	cmp    %eax,%esi
45169e:	75 04                	jne    0x4516a4
4516a0:	33 c0                	xor    %eax,%eax
4516a2:	eb 27                	jmp    0x4516cb