41e9da:	8b ec                	mov    %esp,%ebp
41e9dc:	56                   	push   %esi
41e9dd:	8b 75 08             	mov    0x8(%ebp),%esi
41e9e0:	8b 46 0c             	mov    0xc(%esi),%eax
41e9e3:	ff 70 34             	push   0x34(%eax)
41e9e6:	ff 15 54 b3 44 00    	call   *0x44b354
41e9ec:	85 c0                	test   %eax,%eax
41e9ee:	74 12                	je     0x41ea02
41e9f0:	8b 46 0c             	mov    0xc(%esi),%eax
41e9f3:	6a 00                	push   $0x0
41e9f5:	6a 00                	push   $0x0
41e9f7:	6a 10                	push   $0x10
41e9f9:	ff 70 34             	push   0x34(%eax)
41e9fc:	ff 15 50 b3 44 00    	call   *0x44b350
41ea02:	33 c0                	xor    %eax,%eax
41ea04:	5e                   	pop    %esi
41ea05:	5d                   	pop    %ebp
41ea06:	c2 04 00             	ret    $0x4
41ea09:	55                   	push   %ebp
41ea0a:	8b ec                	mov    %esp,%ebp
41ea0c:	8b 45 08             	mov    0x8(%ebp),%eax
41ea0f:	56                   	push   %esi
41ea10:	ff 75 0c             	push   0xc(%ebp)
41ea13:	33 f6                	xor    %esi,%esi
41ea15:	56                   	push   %esi
41ea16:	68 00 90 00 00       	push   $0x9000
41ea1b:	ff 70 10             	push   0x10(%eax)
41ea1e:	ff 15 68 b3 44 00    	call   *0x44b368
41ea24:	85 c0                	test   %eax,%eax
41ea26:	75 3b                	jne    0x41ea63
41ea28:	ff 15 e8 b0 44 00    	call   *0x44b0e8
41ea2e:	0f b7 f0             	movzwl %ax,%esi
41ea31:	81 ce 00 00 07 80    	or     $0x80070000,%esi
41ea37:	85 c0                	test   %eax,%eax
41ea39:	0f 4e f0             	cmovle %eax,%esi
41ea3c:	b8 05 40 00 80       	mov    $0x80004005,%eax
41ea41:	85 f6                	test   %esi,%esi
41ea43:	0f 49 f0             	cmovns %eax,%esi
41ea46:	56                   	push   %esi
41ea47:	68 83 02 00 00       	push   $0x283
41ea4c:	68 94 9d 45 00       	push   $0x459d94
41ea51:	e8 7d 4d fe ff       	call   0x4037d3
41ea56:	68 74 a2 45 00       	push   $0x45a274
41ea5b:	56                   	push   %esi
41ea5c:	e8 ce 16 02 00       	call   0x44012f
41ea61:	59                   	pop    %ecx
41ea62:	59                   	pop    %ecx
41ea63:	8b c6                	mov    %esi,%eax
41ea65:	5e                   	pop    %esi
41ea66:	5d                   	pop    %ebp
41ea67:	c2 08 00             	ret    $0x8
41ea6a:	b8 01 40 00 80       	mov    $0x80004001,%eax
41ea6f:	c2 08 00             	ret    $0x8
41ea72:	55                   	push   %ebp
41ea73:	8b ec                	mov    %esp,%ebp
41ea75:	8b 4d 08             	mov    0x8(%ebp),%ecx
41ea78:	56                   	push   %esi
41ea79:	33 f6                	xor    %esi,%esi
41ea7b:	8b 41 0c             	mov    0xc(%ecx),%eax
41ea7e:	83 b8 b0 04 00 00 ff 	cmpl   $0xffffffff,0x4b0(%eax)
41ea85:	74 07                	je     0x41ea8e
41ea87:	be df 04 07 80       	mov    $0x800704df,%esi
41ea8c:	eb 51                	jmp    0x41eadf
41ea8e:	ff 75 0c             	push   0xc(%ebp)
41ea91:	56                   	push   %esi
41ea92:	68 02 90 00 00       	push   $0x9002
41ea97:	ff 71 10             	push   0x10(%ecx)
41ea9a:	ff 15 68 b3 44 00    	call   *0x44b368
41eaa0:	85 c0                	test   %eax,%eax
41eaa2:	75 3b                	jne    0x41eadf
41eaa4:	ff 15 e8 b0 44 00    	call   *0x44b0e8
41eaaa:	0f b7 f0             	movzwl %ax,%esi
41eaad:	81 ce 00 00 07 80    	or     $0x80070000,%esi
41eab3:	85 c0                	test   %eax,%eax
41eab5:	0f 4e f0             	cmovle %eax,%esi
41eab8:	b8 05 40 00 80       	mov    $0x80004005,%eax
41eabd:	85 f6                	test   %esi,%esi
41eabf:	0f 49 f0             	cmovns %eax,%esi
41eac2:	56                   	push   %esi
41eac3:	68 a5 02 00 00       	push   $0x2a5
41eac8:	68 94 9d 45 00       	push   $0x459d94
41eacd:	e8 01 4d fe ff       	call   0x4037d3
41ead2:	68 b4 a2 45 00       	push   $0x45a2b4
41ead7:	56                   	push   %esi
41ead8:	e8 52 16 02 00       	call   0x44012f
41eadd:	59                   	pop    %ecx
41eade:	59                   	pop    %ecx
41eadf:	8b c6                	mov    %esi,%eax
41eae1:	5e                   	pop    %esi
41eae2:	5d                   	pop    %ebp
41eae3:	c2 08 00             	ret    $0x8
41eae6:	55                   	push   %ebp
41eae7:	8b ec                	mov    %esp,%ebp
41eae9:	51                   	push   %ecx
41eaea:	51                   	push   %ecx
41eaeb:	8b 45 0c             	mov    0xc(%ebp),%eax
41eaee:	53                   	push   %ebx
41eaef:	33 db                	xor    %ebx,%ebx
41eaf1:	89 5d f8             	mov    %ebx,-0x8(%ebp)
41eaf4:	89 5d fc             	mov    %ebx,-0x4(%ebp)
41eaf7:	56                   	push   %esi
41eaf8:	57                   	push   %edi
41eaf9:	85 c0                	test   %eax,%eax
41eafb:	74 5d                	je     0x41eb5a
41eafd:	66 39 18             	cmp    %bx,(%eax)
41eb00:	74 58                	je     0x41eb5a
41eb02:	8b 7d 14             	mov    0x14(%ebp),%edi
41eb05:	85 ff                	test   %edi,%edi
41eb07:	74 51                	je     0x41eb5a
41eb09:	8d 4d f8             	lea    -0x8(%ebp),%ecx
41eb0c:	51                   	push   %ecx
41eb0d:	50                   	push   %eax
41eb0e:	e8 c1 85 fe ff       	call   0x4070d4
41eb13:	8b f0                	mov    %eax,%esi
41eb15:	85 f6                	test   %esi,%esi
41eb17:	78 46                	js     0x41eb5f
41eb19:	8d 45 fc             	lea    -0x4(%ebp),%eax
41eb1c:	39 5d 10             	cmp    %ebx,0x10(%ebp)
41eb1f:	74 24                	je     0x41eb45
41eb21:	68 00 02 00 00       	push   $0x200
41eb26:	50                   	push   %eax
41eb27:	53                   	push   %ebx
41eb28:	ff 75 f8             	push   -0x8(%ebp)
41eb2b:	ff 37                	push   (%edi)
41eb2d:	ff 75 10             	push   0x10(%ebp)
41eb30:	e8 05 0e 00 00       	call   0x41f93a
41eb35:	8b f0                	mov    %eax,%esi
41eb37:	81 fe 7a 00 07 80    	cmp    $0x8007007a,%esi
41eb3d:	75 20                	jne    0x41eb5f
41eb3f:	83 c6 70             	add    $0x70,%esi
41eb42:	8d 45 fc             	lea    -0x4(%ebp),%eax
41eb45:	50                   	push   %eax
41eb46:	68 ff ff ff 7f       	push   $0x7fffffff
41eb4b:	ff 75 f8             	push   -0x8(%ebp)
41eb4e:	e8 04 31 fe ff       	call   0x401c57
41eb53:	8b 45 fc             	mov    -0x4(%ebp),%eax
41eb56:	89 07                	mov    %eax,(%edi)
41eb58:	eb 05                	jmp    0x41eb5f
41eb5a:	be 57 00 07 80       	mov    $0x80070057,%esi
41eb5f:	ff 75 f8             	push   -0x8(%ebp)
41eb62:	e8 2c 3c fe ff       	call   0x402793
41eb67:	5f                   	pop    %edi
41eb68:	8b c6                	mov    %esi,%eax
41eb6a:	5e                   	pop    %esi
41eb6b:	5b                   	pop    %ebx
41eb6c:	8b e5                	mov    %ebp,%esp
41eb6e:	5d                   	pop    %ebp
41eb6f:	c2 10 00             	ret    $0x10
41eb72:	55                   	push   %ebp
41eb73:	8b ec                	mov    %esp,%ebp
41eb75:	8b 45 0c             	mov    0xc(%ebp),%eax
41eb78:	85 c0                	test   %eax,%eax
41eb7a:	74 23                	je     0x41eb9f
41eb7c:	66 83 38 00          	cmpw   $0x0,(%eax)
41eb80:	74 1d                	je     0x41eb9f
41eb82:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
41eb86:	74 17                	je     0x41eb9f
41eb88:	ff 75 10             	push   0x10(%ebp)
41eb8b:	50                   	push   %eax
41eb8c:	8b 45 08             	mov    0x8(%ebp),%eax
41eb8f:	8b 40 0c             	mov    0xc(%eax),%eax
41eb92:	05 88 00 00 00       	add    $0x88,%eax
41eb97:	50                   	push   %eax
41eb98:	e8 17 ac fe ff       	call   0x4097b4
41eb9d:	eb 05                	jmp    0x41eba4
41eb9f:	b8 57 00 07 80       	mov    $0x80070057,%eax
41eba4:	5d                   	pop    %ebp
41eba5:	c2 0c 00             	ret    $0xc
41eba8:	55                   	push   %ebp
41eba9:	8b ec                	mov    %esp,%ebp
41ebab:	51                   	push   %ecx
41ebac:	51                   	push   %ecx
41ebad:	8b 45 0c             	mov    0xc(%ebp),%eax
41ebb0:	53                   	push   %ebx
41ebb1:	33 db                	xor    %ebx,%ebx
41ebb3:	89 5d f8             	mov    %ebx,-0x8(%ebp)
41ebb6:	89 5d fc             	mov    %ebx,-0x4(%ebp)
41ebb9:	56                   	push   %esi
41ebba:	57                   	push   %edi
41ebbb:	85 c0                	test   %eax,%eax
41ebbd:	74 69                	je     0x41ec28
41ebbf:	66 39 18             	cmp    %bx,(%eax)
41ebc2:	74 64                	je     0x41ec28
41ebc4:	8b 7d 14             	mov    0x14(%ebp),%edi
41ebc7:	85 ff                	test   %edi,%edi
41ebc9:	74 5d                	je     0x41ec28
41ebcb:	8d 4d fc             	lea    -0x4(%ebp),%ecx
41ebce:	51                   	push   %ecx
41ebcf:	8d 4d f8             	lea    -0x8(%ebp),%ecx
41ebd2:	51                   	push   %ecx
41ebd3:	50                   	push   %eax
41ebd4:	8b 45 08             	mov    0x8(%ebp),%eax
41ebd7:	8b 40 0c             	mov    0xc(%eax),%eax
41ebda:	05 88 00 00 00       	add    $0x88,%eax
41ebdf:	50                   	push   %eax
41ebe0:	e8 ea 85 fe ff       	call   0x4071cf
41ebe5:	8b f0                	mov    %eax,%esi
41ebe7:	85 f6                	test   %esi,%esi
41ebe9:	78 42                	js     0x41ec2d
41ebeb:	39 5d 10             	cmp    %ebx,0x10(%ebp)
41ebee:	74 2c                	je     0x41ec1c
41ebf0:	68 00 02 00 00       	push   $0x200
41ebf5:	53                   	push   %ebx
41ebf6:	53                   	push   %ebx
41ebf7:	ff 75 f8             	push   -0x8(%ebp)
41ebfa:	ff 37                	push   (%edi)
41ebfc:	ff 75 10             	push   0x10(%ebp)
41ebff:	e8 36 0d 00 00       	call   0x41f93a
41ec04:	8b f0                	mov    %eax,%esi
41ec06:	85 f6                	test   %esi,%esi
41ec08:	79 23                	jns    0x41ec2d
41ec0a:	8b 45 fc             	mov    -0x4(%ebp),%eax
41ec0d:	89 07                	mov    %eax,(%edi)
41ec0f:	81 fe 7a 00 07 80    	cmp    $0x8007007a,%esi
41ec15:	75 16                	jne    0x41ec2d
41ec17:	83 c6 70             	add    $0x70,%esi
41ec1a:	eb 11                	jmp    0x41ec2d
41ec1c:	8b 45 fc             	mov    -0x4(%ebp),%eax
41ec1f:	be ea 00 07 80       	mov    $0x800700ea,%esi
41ec24:	89 07                	mov    %eax,(%edi)
41ec26:	eb 05                	jmp    0x41ec2d
41ec28:	be 57 00 07 80       	mov    $0x80070057,%esi
41ec2d:	ff 75 f8             	push   -0x8(%ebp)
41ec30:	e8 5e 3b fe ff       	call   0x402793
41ec35:	5f                   	pop    %edi
41ec36:	8b c6                	mov    %esi,%eax
41ec38:	5e                   	pop    %esi
41ec39:	5b                   	pop    %ebx
41ec3a:	8b e5                	mov    %ebp,%esp
41ec3c:	5d                   	pop    %ebp
41ec3d:	c2 10 00             	ret    $0x10
41ec40:	55                   	push   %ebp
41ec41:	8b ec                	mov    %esp,%ebp
41ec43:	8b 55 0c             	mov    0xc(%ebp),%edx
41ec46:	53                   	push   %ebx
41ec47:	56                   	push   %esi
41ec48:	57                   	push   %edi
41ec49:	33 ff                	xor    %edi,%edi
41ec4b:	bb 84 9d 45 00       	mov    $0x459d84,%ebx
41ec50:	6a 04                	push   $0x4
41ec52:	8b cf                	mov    %edi,%ecx
41ec54:	5e                   	pop    %esi
41ec55:	8b 04 8b             	mov    (%ebx,%ecx,4),%eax
41ec58:	3b 04 8a             	cmp    (%edx,%ecx,4),%eax
41ec5b:	75 5d                	jne    0x41ecba
41ec5d:	41                   	inc    %ecx
41ec5e:	3b ce                	cmp    %esi,%ecx
41ec60:	75 f3                	jne    0x41ec55
41ec62:	f7 45 14 03 00 00 00 	testl  $0x3,0x14(%ebp)
41ec69:	75 26                	jne    0x41ec91
41ec6b:	be 05 40 00 80       	mov    $0x80004005,%esi
41ec70:	56                   	push   %esi
41ec71:	68 28 03 00 00       	push   $0x328
41ec76:	68 94 9d 45 00       	push   $0x459d94
41ec7b:	8b fe                	mov    %esi,%edi
41ec7d:	e8 51 4b fe ff       	call   0x4037d3
41ec82:	68 ac a3 45 00       	push   $0x45a3ac
41ec87:	56                   	push   %esi
41ec88:	e8 a2 14 02 00       	call   0x44012f
41ec8d:	59                   	pop    %ecx
41ec8e:	59                   	pop    %ecx
41ec8f:	eb 2e                	jmp    0x41ecbf
41ec91:	8b 45 20             	mov    0x20(%ebp),%eax
41ec94:	85 c0                	test   %eax,%eax
41ec96:	75 1e                	jne    0x41ecb6
41ec98:	be 05 40 00 80       	mov    $0x80004005,%esi
41ec9d:	56                   	push   %esi
41ec9e:	68 2c 03 00 00       	push   $0x32c
41eca3:	68 94 9d 45 00       	push   $0x459d94
41eca8:	8b fe                	mov    %esi,%edi
41ecaa:	e8 24 4b fe ff       	call   0x4037d3
41ecaf:	68 e8 a3 45 00       	push   $0x45a3e8
41ecb4:	eb d1                	jmp    0x41ec87
41ecb6:	89 30                	mov    %esi,(%eax)
41ecb8:	eb 05                	jmp    0x41ecbf
41ecba:	bf 02 40 00 80       	mov    $0x80004002,%edi
41ecbf:	8b c7                	mov    %edi,%eax
41ecc1:	5f                   	pop    %edi
41ecc2:	5e                   	pop    %esi
41ecc3:	5b                   	pop    %ebx
41ecc4:	5d                   	pop    %ebp
41ecc5:	c2 1c 00             	ret    $0x1c
41ecc8:	55                   	push   %ebp
41ecc9:	8b ec                	mov    %esp,%ebp
41eccb:	8b 55 0c             	mov    0xc(%ebp),%edx
41ecce:	33 c9                	xor    %ecx,%ecx
41ecd0:	85 d2                	test   %edx,%edx
41ecd2:	74 10                	je     0x41ece4
41ecd4:	8b 45 08             	mov    0x8(%ebp),%eax
41ecd7:	8b 40 0c             	mov    0xc(%eax),%eax
41ecda:	8b 80 cc 02 00 00    	mov    0x2cc(%eax),%eax
41ece0:	89 02                	mov    %eax,(%edx)
41ece2:	eb 05                	jmp    0x41ece9
41ece4:	b9 57 00 07 80       	mov    $0x80070057,%ecx
41ece9:	8b c1                	mov    %ecx,%eax
41eceb:	5d                   	pop    %ebp
41ecec:	c2 08 00             	ret    $0x8
41ecef:	b8 01 40 00 80       	mov    $0x80004001,%eax
41ecf4:	c2 1c 00             	ret    $0x1c
41ecf7:	55                   	push   %ebp
41ecf8:	8b ec                	mov    %esp,%ebp
41ecfa:	8b 45 0c             	mov    0xc(%ebp),%eax
41ecfd:	85 c0                	test   %eax,%eax
41ecff:	74 23                	je     0x41ed24
41ed01:	66 83 38 00          	cmpw   $0x0,(%eax)
41ed05:	74 1d                	je     0x41ed24
41ed07:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
41ed0b:	74 17                	je     0x41ed24
41ed0d:	ff 75 10             	push   0x10(%ebp)
41ed10:	50                   	push   %eax
41ed11:	8b 45 08             	mov    0x8(%ebp),%eax
41ed14:	8b 40 0c             	mov    0xc(%eax),%eax
41ed17:	05 88 00 00 00       	add    $0x88,%eax
41ed1c:	50                   	push   %eax
41ed1d:	e8 ea 85 fe ff       	call   0x40730c
41ed22:	eb 05                	jmp    0x41ed29
41ed24:	b8 57 00 07 80       	mov    $0x80070057,%eax
41ed29:	5d                   	pop    %ebp
41ed2a:	c2 0c 00             	ret    $0xc
41ed2d:	55                   	push   %ebp
41ed2e:	8b ec                	mov    %esp,%ebp
41ed30:	51                   	push   %ecx
41ed31:	51                   	push   %ecx
41ed32:	8b 45 0c             	mov    0xc(%ebp),%eax
41ed35:	53                   	push   %ebx
41ed36:	33 db                	xor    %ebx,%ebx
41ed38:	89 5d f8             	mov    %ebx,-0x8(%ebp)
41ed3b:	89 5d fc             	mov    %ebx,-0x4(%ebp)
41ed3e:	56                   	push   %esi
41ed3f:	57                   	push   %edi
41ed40:	85 c0                	test   %eax,%eax
41ed42:	74 6c                	je     0x41edb0
41ed44:	66 39 18             	cmp    %bx,(%eax)
41ed47:	74 67                	je     0x41edb0
41ed49:	8b 7d 14             	mov    0x14(%ebp),%edi
41ed4c:	85 ff                	test   %edi,%edi
41ed4e:	74 60                	je     0x41edb0
41ed50:	8d 4d f8             	lea    -0x8(%ebp),%ecx
41ed53:	51                   	push   %ecx
41ed54:	50                   	push   %eax
41ed55:	8b 45 08             	mov    0x8(%ebp),%eax
41ed58:	8b 40 0c             	mov    0xc(%eax),%eax
41ed5b:	05 88 00 00 00       	add    $0x88,%eax
41ed60:	50                   	push   %eax
41ed61:	e8 28 86 fe ff       	call   0x40738e
41ed66:	8b f0                	mov    %eax,%esi
41ed68:	85 f6                	test   %esi,%esi
41ed6a:	78 49                	js     0x41edb5
41ed6c:	8d 45 fc             	lea    -0x4(%ebp),%eax
41ed6f:	39 5d 10             	cmp    %ebx,0x10(%ebp)