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
4516a4:	3b fe                	cmp    %esi,%edi
4516a6:	7d 11                	jge    0x4516b9
4516a8:	8d 56 01             	lea    0x1(%esi),%edx
4516ab:	8b c5                	mov    %ebp,%eax
4516ad:	e8 26 6b fc ff       	call   0x4181d8
4516b2:	e8 f5 02 00 00       	call   0x4519ac
4516b7:	eb 12                	jmp    0x4516cb
4516b9:	3b fe                	cmp    %esi,%edi
4516bb:	7e 25                	jle    0x4516e2
4516bd:	8b c5                	mov    %ebp,%eax
4516bf:	8b d6                	mov    %esi,%edx
4516c1:	e8 12 6b fc ff       	call   0x4181d8
4516c6:	e8 e1 02 00 00       	call   0x4519ac
4516cb:	6a 03                	push   $0x3
4516cd:	6a 00                	push   $0x0
4516cf:	6a 00                	push   $0x0
4516d1:	6a 00                	push   $0x0
4516d3:	6a 00                	push   $0x0
4516d5:	50                   	push   %eax
4516d6:	8b 83 b4 01 00 00    	mov    0x1b4(%ebx),%eax
4516dc:	50                   	push   %eax
4516dd:	e8 fe 5b fb ff       	call   0x4072e0
4516e2:	5d                   	pop    %ebp
4516e3:	5f                   	pop    %edi
4516e4:	5e                   	pop    %esi
4516e5:	5b                   	pop    %ebx
4516e6:	c3                   	ret
4516e7:	90                   	nop
4516e8:	53                   	push   %ebx
4516e9:	56                   	push   %esi
4516ea:	8b 58 30             	mov    0x30(%eax),%ebx
4516ed:	85 db                	test   %ebx,%ebx
4516ef:	74 2d                	je     0x45171e
4516f1:	84 d2                	test   %dl,%dl
4516f3:	74 0c                	je     0x451701
4516f5:	8b 93 d0 01 00 00    	mov    0x1d0(%ebx),%edx
4516fb:	8b 4a 08             	mov    0x8(%edx),%ecx
4516fe:	49                   	dec    %ecx
4516ff:	eb 02                	jmp    0x451703
451701:	33 c9                	xor    %ecx,%ecx
451703:	33 d2                	xor    %edx,%edx
451705:	8b b3 cc 01 00 00    	mov    0x1cc(%ebx),%esi
45170b:	85 f6                	test   %esi,%esi
45170d:	74 03                	je     0x451712
45170f:	8b 56 08             	mov    0x8(%esi),%edx
451712:	03 ca                	add    %edx,%ecx
451714:	8b d1                	mov    %ecx,%edx
451716:	e8 f5 fe ff ff       	call   0x451610
45171b:	5e                   	pop    %esi
45171c:	5b                   	pop    %ebx
45171d:	c3                   	ret
45171e:	8b 88 b4 01 00 00    	mov    0x1b4(%eax),%ecx
451724:	85 c9                	test   %ecx,%ecx
451726:	74 1c                	je     0x451744
451728:	6a 03                	push   $0x3
45172a:	6a 00                	push   $0x0
45172c:	6a 00                	push   $0x0
45172e:	6a 00                	push   $0x0
451730:	6a 00                	push   $0x0
451732:	83 e2 7f             	and    $0x7f,%edx
451735:	0f b7 14 55 f8 c6 49 	movzwl 0x49c6f8(,%edx,2),%edx
45173c:	00
45173d:	52                   	push   %edx
45173e:	51                   	push   %ecx
45173f:	e8 9c 5b fb ff       	call   0x4072e0
451744:	5e                   	pop    %esi
451745:	5b                   	pop    %ebx
451746:	c3                   	ret
451747:	90                   	nop
451748:	53                   	push   %ebx
451749:	56                   	push   %esi
45174a:	8b f2                	mov    %edx,%esi
45174c:	8b d8                	mov    %eax,%ebx
45174e:	f6 43 1c 10          	testb  $0x10,0x1c(%ebx)
451752:	74 13                	je     0x451767
451754:	6a 12                	push   $0x12
451756:	6a 00                	push   $0x0
451758:	8b c3                	mov    %ebx,%eax
45175a:	e8 4d 02 00 00       	call   0x4519ac
45175f:	50                   	push   %eax
451760:	e8 23 58 fb ff       	call   0x406f88
451765:	eb 0d                	jmp    0x451774
451767:	8b c3                	mov    %ebx,%eax
451769:	e8 3e 02 00 00       	call   0x4519ac
45176e:	50                   	push   %eax
45176f:	e8 0c 58 fb ff       	call   0x406f80
451774:	85 c0                	test   %eax,%eax
451776:	75 17                	jne    0x45178f
451778:	8b 0d 88 76 4a 00    	mov    0x4a7688,%ecx
45177e:	b2 01                	mov    $0x1,%dl
451780:	a1 e4 5b 41 00       	mov    0x415be4,%eax
451785:	e8 42 ad fb ff       	call   0x40c4cc
45178a:	e8 01 2a fb ff       	call   0x404190
45178f:	8b 93 b4 01 00 00    	mov    0x1b4(%ebx),%edx
451795:	89 16                	mov    %edx,(%esi)
451797:	5e                   	pop    %esi
451798:	5b                   	pop    %ebx
451799:	c3                   	ret
45179a:	8b c0                	mov    %eax,%eax
45179c:	8b 50 30             	mov    0x30(%eax),%edx
45179f:	85 d2                	test   %edx,%edx
4517a1:	74 08                	je     0x4517ab
4517a3:	8b c2                	mov    %edx,%eax
4517a5:	e8 02 02 00 00       	call   0x4519ac
4517aa:	c3                   	ret
4517ab:	8b 80 c4 01 00 00    	mov    0x1c4(%eax),%eax
4517b1:	c3                   	ret
4517b2:	8b c0                	mov    %eax,%eax
4517b4:	eb 02                	jmp    0x4517b8
4517b6:	8b c2                	mov    %edx,%eax
4517b8:	8b 50 30             	mov    0x30(%eax),%edx
4517bb:	85 d2                	test   %edx,%edx
4517bd:	75 f7                	jne    0x4517b6
4517bf:	8b 90 c4 01 00 00    	mov    0x1c4(%eax),%edx
4517c5:	85 d2                	test   %edx,%edx
4517c7:	75 07                	jne    0x4517d0
4517c9:	e8 de 01 00 00       	call   0x4519ac
4517ce:	8b d0                	mov    %eax,%edx
4517d0:	8b c2                	mov    %edx,%eax
4517d2:	c3                   	ret
4517d3:	90                   	nop
4517d4:	6a 00                	push   $0x0
4517d6:	33 c9                	xor    %ecx,%ecx
4517d8:	ba 34 b0 00 00       	mov    $0xb034,%edx
4517dd:	e8 4a 99 ff ff       	call   0x44b12c
4517e2:	c3                   	ret
4517e3:	90                   	nop
4517e4:	53                   	push   %ebx
4517e5:	56                   	push   %esi
4517e6:	57                   	push   %edi
4517e7:	8b f2                	mov    %edx,%esi
4517e9:	8b d8                	mov    %eax,%ebx
4517eb:	8b c3                	mov    %ebx,%eax
4517ed:	e8 5a 05 00 00       	call   0x451d4c
4517f2:	84 c0                	test   %al,%al
4517f4:	74 7d                	je     0x451873
4517f6:	8b 43 30             	mov    0x30(%ebx),%eax
4517f9:	85 c0                	test   %eax,%eax
4517fb:	74 11                	je     0x45180e
4517fd:	6a 00                	push   $0x0
4517ff:	b9 01 00 00 00       	mov    $0x1,%ecx
451804:	ba 34 b0 00 00       	mov    $0xb034,%edx
451809:	e8 1e 99 ff ff       	call   0x44b12c
45180e:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
451812:	75 5f                	jne    0x451873
451814:	f6 43 50 40          	testb  $0x40,0x50(%ebx)
451818:	0f 95 c0             	setne  %al
45181b:	34 01                	xor    $0x1,%al
45181d:	f6 d8                	neg    %al
45181f:	1b c0                	sbb    %eax,%eax
451821:	50                   	push   %eax
451822:	6a 00                	push   $0x0
451824:	8b 83 b4 01 00 00    	mov    0x1b4(%ebx),%eax
45182a:	50                   	push   %eax
45182b:	e8 c8 58 fb ff       	call   0x4070f8
451830:	e8 5b b0 fe ff       	call   0x43c890
451835:	e8 5e b1 fe ff       	call   0x43c998
45183a:	84 c0                	test   %al,%al
45183c:	74 35                	je     0x451873
45183e:	8b c3                	mov    %ebx,%eax
451840:	e8 bf c4 ff ff       	call   0x44dd04
451845:	8b f8                	mov    %eax,%edi
451847:	4f                   	dec    %edi
451848:	85 ff                	test   %edi,%edi
45184a:	7c 27                	jl     0x451873
45184c:	47                   	inc    %edi
45184d:	33 f6                	xor    %esi,%esi
45184f:	8b d6                	mov    %esi,%edx
451851:	8b c3                	mov    %ebx,%eax
451853:	e8 70 c4 ff ff       	call   0x44dcc8
451858:	f6 40 52 04          	testb  $0x4,0x52(%eax)
45185c:	74 11                	je     0x45186f
45185e:	8b d6                	mov    %esi,%edx
451860:	8b c3                	mov    %ebx,%eax
451862:	e8 61 c4 ff ff       	call   0x44dcc8