45f945:	8b 78 68             	mov    0x68(%eax),%edi
45f948:	85 ff                	test   %edi,%edi
45f94a:	74 28                	je     0x45f974
45f94c:	66 83 bf aa 02 00 00 	cmpw   $0x0,0x2aa(%edi)
45f953:	00
45f954:	74 1e                	je     0x45f974
45f956:	8d 44 24 08          	lea    0x8(%esp),%eax
45f95a:	50                   	push   %eax
45f95b:	8b 4c 24 08          	mov    0x8(%esp),%ecx
45f95f:	66 8b 54 24 04       	mov    0x4(%esp),%dx
45f964:	8b 87 ac 02 00 00    	mov    0x2ac(%edi),%eax
45f96a:	ff 97 a8 02 00 00    	call   *0x2a8(%edi)
45f970:	8b d8                	mov    %eax,%ebx
45f972:	eb 26                	jmp    0x45f99a
45f974:	66 83 be f2 00 00 00 	cmpw   $0x0,0xf2(%esi)
45f97b:	00
45f97c:	74 1c                	je     0x45f99a
45f97e:	8d 44 24 08          	lea    0x8(%esp),%eax
45f982:	50                   	push   %eax
45f983:	8b 4c 24 08          	mov    0x8(%esp),%ecx
45f987:	66 8b 54 24 04       	mov    0x4(%esp),%dx
45f98c:	8b 86 f4 00 00 00    	mov    0xf4(%esi),%eax
45f992:	ff 96 f0 00 00 00    	call   *0xf0(%esi)
45f998:	8b d8                	mov    %eax,%ebx
45f99a:	85 ff                	test   %edi,%edi
45f99c:	74 2c                	je     0x45f9ca
45f99e:	f6 47 1c 10          	testb  $0x10,0x1c(%edi)
45f9a2:	74 05                	je     0x45f9a9
45f9a4:	c6 44 24 08 00       	movb   $0x0,0x8(%esp)
45f9a9:	8b c7                	mov    %edi,%eax
45f9ab:	e8 dc 68 fe ff       	call   0x44628c
45f9b0:	66 83 f8 ff          	cmp    $0xffff,%ax
45f9b4:	75 14                	jne    0x45f9ca
45f9b6:	80 7f 57 00          	cmpb   $0x0,0x57(%edi)
45f9ba:	75 0e                	jne    0x45f9ca
45f9bc:	83 bf 20 02 00 00 00 	cmpl   $0x0,0x220(%edi)
45f9c3:	75 05                	jne    0x45f9ca
45f9c5:	c6 44 24 08 00       	movb   $0x0,0x8(%esp)
45f9ca:	80 7c 24 08 00       	cmpb   $0x0,0x8(%esp)
45f9cf:	0f 84 b1 00 00 00    	je     0x45fa86
45f9d5:	84 db                	test   %bl,%bl
45f9d7:	0f 85 a9 00 00 00    	jne    0x45fa86
45f9dd:	85 ff                	test   %edi,%edi
45f9df:	74 46                	je     0x45fa27
45f9e1:	8b c7                	mov    %edi,%eax
45f9e3:	e8 0c 6a fe ff       	call   0x4463f4
45f9e8:	84 c0                	test   %al,%al
45f9ea:	74 3b                	je     0x45fa27
45f9ec:	83 bf 3c 02 00 00 00 	cmpl   $0x0,0x23c(%edi)
45f9f3:	74 32                	je     0x45fa27
45f9f5:	8b c7                	mov    %edi,%eax
45f9f7:	e8 f4 66 fe ff       	call   0x4460f0
45f9fc:	8b e8                	mov    %eax,%ebp
45f9fe:	8b c6                	mov    %esi,%eax
45fa00:	e8 c7 05 00 00       	call   0x45ffcc
45fa05:	84 c0                	test   %al,%al
45fa07:	74 7d                	je     0x45fa86
45fa09:	66 8b 04 24          	mov    (%esp),%ax
45fa0d:	50                   	push   %eax
45fa0e:	8b 44 24 08          	mov    0x8(%esp),%eax
45fa12:	50                   	push   %eax
45fa13:	8b 8f 3c 02 00 00    	mov    0x23c(%edi),%ecx
45fa19:	8b d5                	mov    %ebp,%edx
45fa1b:	8b 46 4c             	mov    0x4c(%esi),%eax
45fa1e:	8b 18                	mov    (%eax),%ebx
45fa20:	ff 53 20             	call   *0x20(%ebx)
45fa23:	8b d8                	mov    %eax,%ebx
45fa25:	eb 5f                	jmp    0x45fa86
45fa27:	83 7e 50 00          	cmpl   $0x0,0x50(%esi)
45fa2b:	74 37                	je     0x45fa64
45fa2d:	8b 6e 30             	mov    0x30(%esi),%ebp
45fa30:	8b 46 44             	mov    0x44(%esi),%eax
45fa33:	85 c0                	test   %eax,%eax
45fa35:	74 07                	je     0x45fa3e
45fa37:	e8 b4 66 fe ff       	call   0x4460f0
45fa3c:	8b e8                	mov    %eax,%ebp
45fa3e:	8b c6                	mov    %esi,%eax
45fa40:	e8 87 05 00 00       	call   0x45ffcc
45fa45:	84 c0                	test   %al,%al
45fa47:	74 3d                	je     0x45fa86
45fa49:	66 8b 04 24          	mov    (%esp),%ax
45fa4d:	50                   	push   %eax
45fa4e:	8b 44 24 08          	mov    0x8(%esp),%eax
45fa52:	50                   	push   %eax
45fa53:	8b 4e 50             	mov    0x50(%esi),%ecx
45fa56:	8b d5                	mov    %ebp,%edx
45fa58:	8b 46 4c             	mov    0x4c(%esi),%eax
45fa5b:	8b 18                	mov    (%eax),%ebx
45fa5d:	ff 53 20             	call   *0x20(%ebx)
45fa60:	8b d8                	mov    %eax,%ebx
45fa62:	eb 22                	jmp    0x45fa86
45fa64:	80 be a4 00 00 00 00 	cmpb   $0x0,0xa4(%esi)
45fa6b:	75 19                	jne    0x45fa86
45fa6d:	8b 44 24 04          	mov    0x4(%esp),%eax
45fa71:	50                   	push   %eax
45fa72:	0f b7 44 24 04       	movzwl 0x4(%esp),%eax
45fa77:	50                   	push   %eax
45fa78:	68 1f b0 00 00       	push   $0xb01f
45fa7d:	8b 46 30             	mov    0x30(%esi),%eax
45fa80:	50                   	push   %eax
45fa81:	e8 26 6d fa ff       	call   0x4067ac
45fa86:	8b c3                	mov    %ebx,%eax
45fa88:	83 c4 0c             	add    $0xc,%esp
45fa8b:	5d                   	pop    %ebp
45fa8c:	5f                   	pop    %edi
45fa8d:	5e                   	pop    %esi
45fa8e:	5b                   	pop    %ebx
45fa8f:	c3                   	ret
45fa90:	55                   	push   %ebp
45fa91:	8b ec                	mov    %esp,%ebp
45fa93:	6a 00                	push   $0x0
45fa95:	53                   	push   %ebx
45fa96:	56                   	push   %esi
45fa97:	57                   	push   %edi
45fa98:	8b fa                	mov    %edx,%edi
45fa9a:	8b f0                	mov    %eax,%esi
45fa9c:	33 c0                	xor    %eax,%eax
45fa9e:	55                   	push   %ebp
45fa9f:	68 e8 fa 45 00       	push   $0x45fae8
45faa4:	64 ff 30             	push   %fs:(%eax)
45faa7:	64 89 20             	mov    %esp,%fs:(%eax)
45faaa:	b3 01                	mov    $0x1,%bl
45faac:	8b c6                	mov    %esi,%eax
45faae:	e8 19 05 00 00       	call   0x45ffcc
45fab3:	84 c0                	test   %al,%al
45fab5:	74 19                	je     0x45fad0
45fab7:	8d 55 fc             	lea    -0x4(%ebp),%edx
45faba:	8b c6                	mov    %esi,%eax
45fabc:	e8 57 0d 00 00       	call   0x460818
45fac1:	8b 4d fc             	mov    -0x4(%ebp),%ecx
45fac4:	8b d7                	mov    %edi,%edx
45fac6:	8b 46 4c             	mov    0x4c(%esi),%eax
45fac9:	8b 30                	mov    (%eax),%esi
45facb:	ff 56 0c             	call   *0xc(%esi)
45face:	eb 02                	jmp    0x45fad2
45fad0:	33 db                	xor    %ebx,%ebx
45fad2:	33 c0                	xor    %eax,%eax
45fad4:	5a                   	pop    %edx
45fad5:	59                   	pop    %ecx
45fad6:	59                   	pop    %ecx
45fad7:	64 89 10             	mov    %edx,%fs:(%eax)
45fada:	68 ef fa 45 00       	push   $0x45faef
45fadf:	8d 45 fc             	lea    -0x4(%ebp),%eax
45fae2:	e8 b1 44 fa ff       	call   0x403f98
45fae7:	c3                   	ret
45fae8:	e9 af 3e fa ff       	jmp    0x40399c
45faed:	eb f0                	jmp    0x45fadf
45faef:	8b c3                	mov    %ebx,%eax
45faf1:	5f                   	pop    %edi
45faf2:	5e                   	pop    %esi
45faf3:	5b                   	pop    %ebx
45faf4:	59                   	pop    %ecx
45faf5:	5d                   	pop    %ebp
45faf6:	c3                   	ret
45faf7:	90                   	nop
45faf8:	55                   	push   %ebp
45faf9:	8b ec                	mov    %esp,%ebp
45fafb:	6a 00                	push   $0x0
45fafd:	53                   	push   %ebx
45fafe:	56                   	push   %esi
45faff:	57                   	push   %edi
45fb00:	8b fa                	mov    %edx,%edi
45fb02:	8b f0                	mov    %eax,%esi
45fb04:	33 c0                	xor    %eax,%eax
45fb06:	55                   	push   %ebp
45fb07:	68 50 fb 45 00       	push   $0x45fb50
45fb0c:	64 ff 30             	push   %fs:(%eax)
45fb0f:	64 89 20             	mov    %esp,%fs:(%eax)
45fb12:	b3 01                	mov    $0x1,%bl
45fb14:	8b c6                	mov    %esi,%eax
45fb16:	e8 b1 04 00 00       	call   0x45ffcc
45fb1b:	84 c0                	test   %al,%al
45fb1d:	74 19                	je     0x45fb38
45fb1f:	8d 55 fc             	lea    -0x4(%ebp),%edx
45fb22:	8b c6                	mov    %esi,%eax
45fb24:	e8 ef 0c 00 00       	call   0x460818
45fb29:	8b 4d fc             	mov    -0x4(%ebp),%ecx
45fb2c:	8b d7                	mov    %edi,%edx
45fb2e:	8b 46 4c             	mov    0x4c(%esi),%eax
45fb31:	8b 30                	mov    (%eax),%esi
45fb33:	ff 56 10             	call   *0x10(%esi)
45fb36:	eb 02                	jmp    0x45fb3a
45fb38:	33 db                	xor    %ebx,%ebx
45fb3a:	33 c0                	xor    %eax,%eax
45fb3c:	5a                   	pop    %edx
45fb3d:	59                   	pop    %ecx
45fb3e:	59                   	pop    %ecx
45fb3f:	64 89 10             	mov    %edx,%fs:(%eax)
45fb42:	68 57 fb 45 00       	push   $0x45fb57
45fb47:	8d 45 fc             	lea    -0x4(%ebp),%eax
45fb4a:	e8 49 44 fa ff       	call   0x403f98
45fb4f:	c3                   	ret
45fb50:	e9 47 3e fa ff       	jmp    0x40399c
45fb55:	eb f0                	jmp    0x45fb47
45fb57:	8b c3                	mov    %ebx,%eax
45fb59:	5f                   	pop    %edi
45fb5a:	5e                   	pop    %esi
45fb5b:	5b                   	pop    %ebx
45fb5c:	59                   	pop    %ecx
45fb5d:	5d                   	pop    %ebp
45fb5e:	c3                   	ret
45fb5f:	90                   	nop
45fb60:	e8 c3 fd ff ff       	call   0x45f928
45fb65:	c3                   	ret
45fb66:	8b c0                	mov    %eax,%eax
45fb68:	53                   	push   %ebx
45fb69:	56                   	push   %esi
45fb6a:	8b d8                	mov    %eax,%ebx
45fb6c:	3a 93 88 00 00 00    	cmp    0x88(%ebx),%dl
45fb72:	74 3f                	je     0x45fbb3
45fb74:	8b c2                	mov    %edx,%eax
45fb76:	88 83 88 00 00 00    	mov    %al,0x88(%ebx)
45fb7c:	84 c0                	test   %al,%al
45fb7e:	74 20                	je     0x45fba0
45fb80:	8b cb                	mov    %ebx,%ecx
45fb82:	b2 01                	mov    $0x1,%dl
45fb84:	a1 8c 3d 46 00       	mov    0x463d8c,%eax
45fb89:	ff 50 2c             	call   *0x2c(%eax)
45fb8c:	8b f0                	mov    %eax,%esi
45fb8e:	89 b3 84 00 00 00    	mov    %esi,0x84(%ebx)
45fb94:	8b 53 5c             	mov    0x5c(%ebx),%edx
45fb97:	8b c6                	mov    %esi,%eax
45fb99:	e8 0a ff fd ff       	call   0x43faa8
45fb9e:	eb 13                	jmp    0x45fbb3
45fba0:	8b 83 84 00 00 00    	mov    0x84(%ebx),%eax
45fba6:	e8 9d 36 fa ff       	call   0x403248
45fbab:	33 c0                	xor    %eax,%eax
45fbad:	89 83 84 00 00 00    	mov    %eax,0x84(%ebx)
45fbb3:	5e                   	pop    %esi
45fbb4:	5b                   	pop    %ebx
45fbb5:	c3                   	ret
45fbb6:	8b c0                	mov    %eax,%eax
45fbb8:	53                   	push   %ebx
45fbb9:	56                   	push   %esi
45fbba:	57                   	push   %edi
45fbbb:	a1 bc eb 46 00       	mov    0x46ebbc,%eax
45fbc0:	e8 9f d5 ff ff       	call   0x45d164
45fbc5:	8b f0                	mov    %eax,%esi
45fbc7:	4e                   	dec    %esi
45fbc8:	85 f6                	test   %esi,%esi
45fbca:	7c 4c                	jl     0x45fc18
45fbcc:	46                   	inc    %esi
45fbcd:	33 ff                	xor    %edi,%edi
45fbcf:	8b d7                	mov    %edi,%edx
45fbd1:	a1 bc eb 46 00       	mov    0x46ebbc,%eax
45fbd6:	e8 75 d5 ff ff       	call   0x45d150
45fbdb:	8b d8                	mov    %eax,%ebx
45fbdd:	8b c3                	mov    %ebx,%eax
45fbdf:	e8 10 68 fe ff       	call   0x4463f4
45fbe4:	84 c0                	test   %al,%al
45fbe6:	74 2c                	je     0x45fc14
45fbe8:	8b c3                	mov    %ebx,%eax
45fbea:	e8 01 65 fe ff       	call   0x4460f0
45fbef:	50                   	push   %eax
45fbf0:	e8 3f 6b fa ff       	call   0x406734
45fbf5:	85 c0                	test   %eax,%eax
45fbf7:	74 1b                	je     0x45fc14
45fbf9:	8b c3                	mov    %ebx,%eax
45fbfb:	e8 f0 64 fe ff       	call   0x4460f0
45fc00:	50                   	push   %eax
45fc01:	e8 26 6b fa ff       	call   0x40672c
45fc06:	85 c0                	test   %eax,%eax
45fc08:	74 0a                	je     0x45fc14
45fc0a:	8b c3                	mov    %ebx,%eax
45fc0c:	8b 10                	mov    (%eax),%edx
45fc0e:	ff 92 dc 00 00 00    	call   *0xdc(%edx)
45fc14:	47                   	inc    %edi
45fc15:	4e                   	dec    %esi
45fc16:	75 b7                	jne    0x45fbcf
45fc18:	5f                   	pop    %edi
45fc19:	5e                   	pop    %esi
45fc1a:	5b                   	pop    %ebx
45fc1b:	c3                   	ret
45fc1c:	53                   	push   %ebx
45fc1d:	56                   	push   %esi
45fc1e:	57                   	push   %edi
45fc1f:	83 c4 f8             	add    $0xfffffff8,%esp
45fc22:	8b d8                	mov    %eax,%ebx
45fc24:	54                   	push   %esp
45fc25:	e8 6a 69 fa ff       	call   0x406594
45fc2a:	8b c4                	mov    %esp,%eax
45fc2c:	b2 01                	mov    $0x1,%dl
45fc2e:	e8 81 e5 fd ff       	call   0x43e1b4
45fc33:	8b f8                	mov    %eax,%edi
45fc35:	e8 76 ce fd ff       	call   0x43cab0
45fc3a:	8b f0                	mov    %eax,%esi
45fc3c:	3b 7b 48             	cmp    0x48(%ebx),%edi
45fc3f:	74 4b                	je     0x45fc8c
45fc41:	83 7b 48 00          	cmpl   $0x0,0x48(%ebx)
45fc45:	74 04                	je     0x45fc4b
45fc47:	85 f6                	test   %esi,%esi
45fc49:	74 09                	je     0x45fc54
45fc4b:	85 f6                	test   %esi,%esi
45fc4d:	74 16                	je     0x45fc65
45fc4f:	3b 73 48             	cmp    0x48(%ebx),%esi
45fc52:	75 11                	jne    0x45fc65
45fc54:	6a 00                	push   $0x0
45fc56:	33 c9                	xor    %ecx,%ecx
45fc58:	ba 14 b0 00 00       	mov    $0xb014,%edx
45fc5d:	8b 43 48             	mov    0x48(%ebx),%eax
45fc60:	e8 57 0e fe ff       	call   0x440abc
45fc65:	89 7b 48             	mov    %edi,0x48(%ebx)
45fc68:	83 7b 48 00          	cmpl   $0x0,0x48(%ebx)
45fc6c:	74 04                	je     0x45fc72
45fc6e:	85 f6                	test   %esi,%esi
45fc70:	74 09                	je     0x45fc7b
45fc72:	85 f6                	test   %esi,%esi
45fc74:	74 16                	je     0x45fc8c
45fc76:	3b 73 48             	cmp    0x48(%ebx),%esi
45fc79:	75 11                	jne    0x45fc8c
45fc7b:	6a 00                	push   $0x0
45fc7d:	33 c9                	xor    %ecx,%ecx
45fc7f:	ba 13 b0 00 00       	mov    $0xb013,%edx
45fc84:	8b 43 48             	mov    0x48(%ebx),%eax
45fc87:	e8 30 0e fe ff       	call   0x440abc
45fc8c:	8b c7                	mov    %edi,%eax
45fc8e:	59                   	pop    %ecx
45fc8f:	5a                   	pop    %edx
45fc90:	5f                   	pop    %edi
45fc91:	5e                   	pop    %esi
45fc92:	5b                   	pop    %ebx
45fc93:	c3                   	ret
45fc94:	55                   	push   %ebp
45fc95:	8b ec                	mov    %esp,%ebp
45fc97:	83 c4 f0             	add    $0xfffffff0,%esp
45fc9a:	53                   	push   %ebx
45fc9b:	56                   	push   %esi
45fc9c:	57                   	push   %edi
45fc9d:	33 c9                	xor    %ecx,%ecx
45fc9f:	89 4d f4             	mov    %ecx,-0xc(%ebp)
45fca2:	89 4d f0             	mov    %ecx,-0x10(%ebp)
45fca5:	89 45 fc             	mov    %eax,-0x4(%ebp)
45fca8:	33 c0                	xor    %eax,%eax
45fcaa:	55                   	push   %ebp
45fcab:	68 a4 fd 45 00       	push   $0x45fda4
45fcb0:	64 ff 30             	push   %fs:(%eax)
45fcb3:	64 89 20             	mov    %esp,%fs:(%eax)
45fcb6:	8b 45 fc             	mov    -0x4(%ebp),%eax
45fcb9:	e8 5e ff ff ff       	call   0x45fc1c
45fcbe:	8b d8                	mov    %eax,%ebx
45fcc0:	8b 45 fc             	mov    -0x4(%ebp),%eax
45fcc3:	80 b8 88 00 00 00 00 	cmpb   $0x0,0x88(%eax)
45fcca:	74 11                	je     0x45fcdd
45fccc:	8b 45 fc             	mov    -0x4(%ebp),%eax
45fccf:	83 78 48 00          	cmpl   $0x0,0x48(%eax)
45fcd3:	75 08                	jne    0x45fcdd
45fcd5:	8b 45 fc             	mov    -0x4(%ebp),%eax
45fcd8:	e8 0f 05 00 00       	call   0x4601ec
45fcdd:	8d 55 f0             	lea    -0x10(%ebp),%edx
45fce0:	8b c3                	mov    %ebx,%eax