40eb0e:	81 fe 06 01 00 00    	cmp    $0x106,%esi
40eb14:	75 09                	jne    0x40eb1f
40eb16:	c7 45 08 10 00 00 00 	movl   $0x10,0x8(%ebp)
40eb1d:	eb 04                	jmp    0x40eb23
40eb1f:	83 65 08 00          	andl   $0x0,0x8(%ebp)
40eb23:	0f b6 19             	movzbl (%ecx),%ebx
40eb26:	83 e3 fd             	and    $0xfffffffd,%ebx
40eb29:	3b 5d 08             	cmp    0x8(%ebp),%ebx
40eb2c:	75 0a                	jne    0x40eb38
40eb2e:	66 8b 59 02          	mov    0x2(%ecx),%bx
40eb32:	66 3b 5a 08          	cmp    0x8(%edx),%bx
40eb36:	74 0d                	je     0x40eb45
40eb38:	ff 45 fc             	incl   -0x4(%ebp)
40eb3b:	83 c1 06             	add    $0x6,%ecx
40eb3e:	39 45 fc             	cmp    %eax,-0x4(%ebp)
40eb41:	7c cb                	jl     0x40eb0e
40eb43:	eb 07                	jmp    0x40eb4c
40eb45:	c7 45 f8 01 00 00 00 	movl   $0x1,-0x8(%ebp)
40eb4c:	57                   	push   %edi
40eb4d:	e8 2e 15 03 00       	call   0x440080
40eb52:	8b 45 f8             	mov    -0x8(%ebp),%eax
40eb55:	59                   	pop    %ecx
40eb56:	5f                   	pop    %edi
40eb57:	eb 02                	jmp    0x40eb5b
40eb59:	33 c0                	xor    %eax,%eax
40eb5b:	5e                   	pop    %esi
40eb5c:	5b                   	pop    %ebx
40eb5d:	c9                   	leave
40eb5e:	c2 04 00             	ret    $0x4
40eb61:	55                   	push   %ebp
40eb62:	8b ec                	mov    %esp,%ebp
40eb64:	51                   	push   %ecx
40eb65:	56                   	push   %esi
40eb66:	8b f1                	mov    %ecx,%esi
40eb68:	f6 46 6d 40          	testb  $0x40,0x6d(%esi)
40eb6c:	75 08                	jne    0x40eb76
40eb6e:	8b 06                	mov    (%esi),%eax
40eb70:	ff 90 b0 00 00 00    	call   *0xb0(%eax)
40eb76:	8b 46 4c             	mov    0x4c(%esi),%eax
40eb79:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40eb7d:	8b 08                	mov    (%eax),%ecx
40eb7f:	8d 55 fc             	lea    -0x4(%ebp),%edx
40eb82:	52                   	push   %edx
40eb83:	68 9c 64 49 00       	push   $0x49649c
40eb88:	50                   	push   %eax
40eb89:	ff 11                	call   *(%ecx)
40eb8b:	85 c0                	test   %eax,%eax
40eb8d:	5e                   	pop    %esi
40eb8e:	7c 15                	jl     0x40eba5
40eb90:	8b 45 fc             	mov    -0x4(%ebp),%eax
40eb93:	ff 75 08             	push   0x8(%ebp)
40eb96:	8b 08                	mov    (%eax),%ecx
40eb98:	50                   	push   %eax
40eb99:	ff 51 10             	call   *0x10(%ecx)
40eb9c:	8b 45 fc             	mov    -0x4(%ebp),%eax
40eb9f:	8b 08                	mov    (%eax),%ecx
40eba1:	50                   	push   %eax
40eba2:	ff 51 08             	call   *0x8(%ecx)
40eba5:	c9                   	leave
40eba6:	c2 04 00             	ret    $0x4
40eba9:	55                   	push   %ebp
40ebaa:	8b ec                	mov    %esp,%ebp
40ebac:	51                   	push   %ecx
40ebad:	8b 41 4c             	mov    0x4c(%ecx),%eax
40ebb0:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40ebb4:	8b 08                	mov    (%eax),%ecx
40ebb6:	8d 55 fc             	lea    -0x4(%ebp),%edx
40ebb9:	52                   	push   %edx
40ebba:	68 9c 64 49 00       	push   $0x49649c
40ebbf:	50                   	push   %eax
40ebc0:	ff 11                	call   *(%ecx)
40ebc2:	85 c0                	test   %eax,%eax
40ebc4:	7c 15                	jl     0x40ebdb
40ebc6:	8b 45 fc             	mov    -0x4(%ebp),%eax
40ebc9:	ff 75 08             	push   0x8(%ebp)
40ebcc:	8b 08                	mov    (%eax),%ecx
40ebce:	50                   	push   %eax
40ebcf:	ff 51 18             	call   *0x18(%ecx)
40ebd2:	8b 45 fc             	mov    -0x4(%ebp),%eax
40ebd5:	8b 08                	mov    (%eax),%ecx
40ebd7:	50                   	push   %eax
40ebd8:	ff 51 08             	call   *0x8(%ecx)
40ebdb:	c9                   	leave
40ebdc:	c2 04 00             	ret    $0x4
40ebdf:	55                   	push   %ebp
40ebe0:	8b ec                	mov    %esp,%ebp
40ebe2:	51                   	push   %ecx
40ebe3:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40ebe7:	56                   	push   %esi
40ebe8:	8b f1                	mov    %ecx,%esi
40ebea:	8b 46 50             	mov    0x50(%esi),%eax
40ebed:	8b 08                	mov    (%eax),%ecx
40ebef:	8d 55 fc             	lea    -0x4(%ebp),%edx
40ebf2:	52                   	push   %edx
40ebf3:	50                   	push   %eax
40ebf4:	ff 51 0c             	call   *0xc(%ecx)
40ebf7:	85 c0                	test   %eax,%eax
40ebf9:	7c 1e                	jl     0x40ec19
40ebfb:	8b 45 fc             	mov    -0x4(%ebp),%eax
40ebfe:	39 46 20             	cmp    %eax,0x20(%esi)
40ec01:	74 16                	je     0x40ec19
40ec03:	8b 4e 24             	mov    0x24(%esi),%ecx
40ec06:	85 c9                	test   %ecx,%ecx
40ec08:	89 46 20             	mov    %eax,0x20(%esi)
40ec0b:	74 0c                	je     0x40ec19
40ec0d:	50                   	push   %eax
40ec0e:	e8 d0 60 03 00       	call   0x444ce3
40ec13:	8b 46 24             	mov    0x24(%esi),%eax
40ec16:	89 70 4c             	mov    %esi,0x4c(%eax)
40ec19:	5e                   	pop    %esi
40ec1a:	c9                   	leave
40ec1b:	c3                   	ret
40ec1c:	56                   	push   %esi
40ec1d:	8b f1                	mov    %ecx,%esi
40ec1f:	8b 4e 24             	mov    0x24(%esi),%ecx
40ec22:	83 66 20 00          	andl   $0x0,0x20(%esi)
40ec26:	85 c9                	test   %ecx,%ecx
40ec28:	74 3e                	je     0x40ec68
40ec2a:	83 79 1c 00          	cmpl   $0x0,0x1c(%ecx)
40ec2e:	74 31                	je     0x40ec61
40ec30:	8b 01                	mov    (%ecx),%eax
40ec32:	57                   	push   %edi
40ec33:	ff 90 f0 00 00 00    	call   *0xf0(%eax)
40ec39:	8b f8                	mov    %eax,%edi
40ec3b:	8b 46 24             	mov    0x24(%esi),%eax
40ec3e:	ff 70 1c             	push   0x1c(%eax)
40ec41:	ff 15 64 07 4b 00    	call   *0x4b0764
40ec47:	85 c0                	test   %eax,%eax
40ec49:	74 0d                	je     0x40ec58
40ec4b:	83 3f 00             	cmpl   $0x0,(%edi)
40ec4e:	74 08                	je     0x40ec58
40ec50:	8b 4e 24             	mov    0x24(%esi),%ecx
40ec53:	e8 cc 67 03 00       	call   0x445424
40ec58:	8b 4e 24             	mov    0x24(%esi),%ecx
40ec5b:	e8 bc 60 03 00       	call   0x444d1c
40ec60:	5f                   	pop    %edi
40ec61:	8b 46 24             	mov    0x24(%esi),%eax
40ec64:	83 60 4c 00          	andl   $0x0,0x4c(%eax)
40ec68:	5e                   	pop    %esi
40ec69:	c3                   	ret
40ec6a:	56                   	push   %esi
40ec6b:	8b f1                	mov    %ecx,%esi
40ec6d:	83 7e 24 00          	cmpl   $0x0,0x24(%esi)
40ec71:	74 1c                	je     0x40ec8f
40ec73:	8b 4e 24             	mov    0x24(%esi),%ecx
40ec76:	8b 01                	mov    (%ecx),%eax
40ec78:	6a 00                	push   $0x0
40ec7a:	ff 74 24 0c          	push   0xc(%esp)
40ec7e:	6a fe                	push   $0xfffffffe
40ec80:	ff 76 28             	push   0x28(%esi)
40ec83:	ff 50 0c             	call   *0xc(%eax)
40ec86:	85 c0                	test   %eax,%eax
40ec88:	74 05                	je     0x40ec8f
40ec8a:	33 c0                	xor    %eax,%eax
40ec8c:	40                   	inc    %eax
40ec8d:	eb 16                	jmp    0x40eca5
40ec8f:	8b 46 1c             	mov    0x1c(%esi),%eax
40ec92:	8b 48 1c             	mov    0x1c(%eax),%ecx
40ec95:	8b 01                	mov    (%ecx),%eax
40ec97:	6a 00                	push   $0x0
40ec99:	ff 74 24 0c          	push   0xc(%esp)
40ec9d:	6a fe                	push   $0xfffffffe
40ec9f:	ff 76 28             	push   0x28(%esi)
40eca2:	ff 50 0c             	call   *0xc(%eax)
40eca5:	5e                   	pop    %esi
40eca6:	c2 04 00             	ret    $0x4
40eca9:	55                   	push   %ebp
40ecaa:	8b ec                	mov    %esp,%ebp
40ecac:	51                   	push   %ecx
40ecad:	56                   	push   %esi
40ecae:	8d b1 b8 00 00 00    	lea    0xb8(%ecx),%esi
40ecb4:	83 3e 00             	cmpl   $0x0,(%esi)
40ecb7:	75 2c                	jne    0x40ece5
40ecb9:	83 79 4c 00          	cmpl   $0x0,0x4c(%ecx)
40ecbd:	74 21                	je     0x40ece0
40ecbf:	8b 49 4c             	mov    0x4c(%ecx),%ecx
40ecc2:	8b 01                	mov    (%ecx),%eax
40ecc4:	8d 55 fc             	lea    -0x4(%ebp),%edx
40ecc7:	52                   	push   %edx
40ecc8:	68 0c 4e 49 00       	push   $0x494e0c
40eccd:	51                   	push   %ecx
40ecce:	ff 10                	call   *(%eax)
40ecd0:	85 c0                	test   %eax,%eax
40ecd2:	7c 0c                	jl     0x40ece0
40ecd4:	6a 01                	push   $0x1
40ecd6:	ff 75 fc             	push   -0x4(%ebp)
40ecd9:	8b ce                	mov    %esi,%ecx
40ecdb:	e8 c4 e0 06 00       	call   0x47cda4
40ece0:	83 3e 00             	cmpl   $0x0,(%esi)
40ece3:	74 19                	je     0x40ecfe
40ece5:	ff 75 1c             	push   0x1c(%ebp)
40ece8:	8b ce                	mov    %esi,%ecx
40ecea:	ff 75 18             	push   0x18(%ebp)
40eced:	ff 75 14             	push   0x14(%ebp)
40ecf0:	ff 75 10             	push   0x10(%ebp)
40ecf3:	ff 75 0c             	push   0xc(%ebp)
40ecf6:	ff 75 08             	push   0x8(%ebp)
40ecf9:	e8 bf e0 06 00       	call   0x47cdbd
40ecfe:	5e                   	pop    %esi
40ecff:	c9                   	leave
40ed00:	c2 18 00             	ret    $0x18
40ed03:	55                   	push   %ebp
40ed04:	8b ec                	mov    %esp,%ebp
40ed06:	8b 45 0c             	mov    0xc(%ebp),%eax
40ed09:	f6 c4 40             	test   $0x40,%ah
40ed0c:	74 08                	je     0x40ed16
40ed0e:	25 ff bf 00 00       	and    $0xbfff,%eax
40ed13:	83 c8 40             	or     $0x40,%eax
40ed16:	6a 08                	push   $0x8
40ed18:	5a                   	pop    %edx
40ed19:	66 3b c2             	cmp    %dx,%ax
40ed1c:	75 03                	jne    0x40ed21
40ed1e:	6a 0e                	push   $0xe
40ed20:	58                   	pop    %eax
40ed21:	84 e4                	test   %ah,%ah
40ed23:	79 07                	jns    0x40ed2c
40ed25:	25 ff 7f 00 00       	and    $0x7fff,%eax
40ed2a:	eb 10                	jmp    0x40ed3c
40ed2c:	33 d2                	xor    %edx,%edx
40ed2e:	66 3d 09 00          	cmp    $0x9,%ax
40ed32:	0f 94 c2             	sete   %dl
40ed35:	8d 14 95 04 00 00 00 	lea    0x4(,%edx,4),%edx
40ed3c:	56                   	push   %esi
40ed3d:	8b 31                	mov    (%ecx),%esi
40ed3f:	57                   	push   %edi
40ed40:	ff 75 10             	push   0x10(%ebp)
40ed43:	88 45 0e             	mov    %al,0xe(%ebp)
40ed46:	33 c0                	xor    %eax,%eax
40ed48:	8d 7d 0e             	lea    0xe(%ebp),%edi
40ed4b:	57                   	push   %edi
40ed4c:	50                   	push   %eax
40ed4d:	50                   	push   %eax
40ed4e:	52                   	push   %edx
40ed4f:	ff 75 08             	push   0x8(%ebp)
40ed52:	88 45 0f             	mov    %al,0xf(%ebp)
40ed55:	ff 56 60             	call   *0x60(%esi)
40ed58:	5f                   	pop    %edi
40ed59:	5e                   	pop    %esi
40ed5a:	5d                   	pop    %ebp
40ed5b:	c2 0c 00             	ret    $0xc
40ed5e:	55                   	push   %ebp
40ed5f:	8b ec                	mov    %esp,%ebp
40ed61:	8b 4d 08             	mov    0x8(%ebp),%ecx
40ed64:	8b 01                	mov    (%ecx),%eax
40ed66:	8d 55 20             	lea    0x20(%ebp),%edx
40ed69:	52                   	push   %edx
40ed6a:	ff 75 1c             	push   0x1c(%ebp)
40ed6d:	ff 75 18             	push   0x18(%ebp)
40ed70:	ff 75 14             	push   0x14(%ebp)
40ed73:	ff 75 10             	push   0x10(%ebp)
40ed76:	ff 75 0c             	push   0xc(%ebp)
40ed79:	ff 50 60             	call   *0x60(%eax)
40ed7c:	5d                   	pop    %ebp
40ed7d:	c3                   	ret
40ed7e:	8b 01                	mov    (%ecx),%eax
40ed80:	6a 00                	push   $0x0
40ed82:	ff 74 24 10          	push   0x10(%esp)
40ed86:	ff 74 24 10          	push   0x10(%esp)
40ed8a:	6a 02                	push   $0x2
40ed8c:	ff 74 24 14          	push   0x14(%esp)
40ed90:	51                   	push   %ecx
40ed91:	ff 50 68             	call   *0x68(%eax)
40ed94:	83 c4 18             	add    $0x18,%esp
40ed97:	c2 0c 00             	ret    $0xc
40ed9a:	8b 4c 24 04          	mov    0x4(%esp),%ecx
40ed9e:	8b 01                	mov    (%ecx),%eax
40eda0:	8d 54 24 10          	lea    0x10(%esp),%edx
40eda4:	52                   	push   %edx
40eda5:	ff 74 24 10          	push   0x10(%esp)
40eda9:	ff 74 24 10          	push   0x10(%esp)
40edad:	ff 50 64             	call   *0x64(%eax)
40edb0:	c3                   	ret
40edb1:	b8 24 36 48 00       	mov    $0x483624,%eax
40edb6:	e8 c1 8e 00 00       	call   0x417c7c
40edbb:	51                   	push   %ecx
40edbc:	51                   	push   %ecx
40edbd:	8b 4d 08             	mov    0x8(%ebp),%ecx
40edc0:	8b 01                	mov    (%ecx),%eax
40edc2:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40edc6:	53                   	push   %ebx
40edc7:	56                   	push   %esi
40edc8:	57                   	push   %edi
40edc9:	89 65 f0             	mov    %esp,-0x10(%ebp)
40edcc:	8d 55 14             	lea    0x14(%ebp),%edx
40edcf:	52                   	push   %edx
40edd0:	ff 75 10             	push   0x10(%ebp)
40edd3:	ff 75 0c             	push   0xc(%ebp)
40edd6:	ff 50 64             	call   *0x64(%eax)
40edd9:	c7 45 08 01 00 00 00 	movl   $0x1,0x8(%ebp)
40ede0:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40ede3:	8b 45 08             	mov    0x8(%ebp),%eax
40ede6:	5f                   	pop    %edi
40ede7:	5e                   	pop    %esi
40ede8:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40edef:	5b                   	pop    %ebx
40edf0:	c9                   	leave
40edf1:	c3                   	ret
40edf2:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40edf5:	e8 1f 11 03 00       	call   0x43ff19
40edfa:	83 65 08 00          	andl   $0x0,0x8(%ebp)
40edfe:	b8 e0 ed 40 00       	mov    $0x40ede0,%eax
40ee03:	c3                   	ret
40ee04:	b8 2e 36 48 00       	mov    $0x48362e,%eax
40ee09:	e8 6e 8e 00 00       	call   0x417c7c
40ee0e:	83 ec 14             	sub    $0x14,%esp
40ee11:	53                   	push   %ebx
40ee12:	56                   	push   %esi
40ee13:	8b f1                	mov    %ecx,%esi
40ee15:	8b 46 68             	mov    0x68(%esi),%eax
40ee18:	57                   	push   %edi
40ee19:	33 ff                	xor    %edi,%edi
40ee1b:	39 7e 70             	cmp    %edi,0x70(%esi)
40ee1e:	89 65 f0             	mov    %esp,-0x10(%ebp)
40ee21:	89 75 e4             	mov    %esi,-0x1c(%ebp)
40ee24:	89 45 ec             	mov    %eax,-0x14(%ebp)
40ee27:	75 13                	jne    0x40ee3c
40ee29:	6a f0                	push   $0xfffffff0
40ee2b:	ff 76 20             	push   0x20(%esi)
40ee2e:	ff 15 14 08 4b 00    	call   *0x4b0814
40ee34:	25 00 00 00 10       	and    $0x10000000,%eax
40ee39:	09 45 ec             	or     %eax,-0x14(%ebp)
40ee3c:	8b 06                	mov    (%esi),%eax
40ee3e:	8d 4d e8             	lea    -0x18(%ebp),%ecx
40ee41:	51                   	push   %ecx
40ee42:	6a 0b                	push   $0xb
40ee44:	68 fe fd ff ff       	push   $0xfffffdfe
40ee49:	8b ce                	mov    %esi,%ecx
40ee4b:	89 7d fc             	mov    %edi,-0x4(%ebp)
40ee4e:	c7 45 e8 01 00 00 00 	movl   $0x1,-0x18(%ebp)
40ee55:	ff 50 6c             	call   *0x6c(%eax)
40ee58:	39 7d e8             	cmp    %edi,-0x18(%ebp)
40ee5b:	75 17                	jne    0x40ee74
40ee5d:	80 4d ef 08          	orb    $0x8,-0x11(%ebp)
40ee61:	eb 11                	jmp    0x40ee74
40ee63:	8b 4d e0             	mov    -0x20(%ebp),%ecx
40ee66:	e8 ae 10 03 00       	call   0x43ff19
40ee6b:	b8 71 ee 40 00       	mov    $0x40ee71,%eax
40ee70:	c3                   	ret
40ee71:	8b 75 e4             	mov    -0x1c(%ebp),%esi
40ee74:	8b 16                	mov    (%esi),%edx
40ee76:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
40ee7a:	6a 02                	push   $0x2
40ee7c:	58                   	pop    %eax
40ee7d:	8d 4d e8             	lea    -0x18(%ebp),%ecx
40ee80:	51                   	push   %ecx
40ee81:	50                   	push   %eax
40ee82:	68 08 fe ff ff       	push   $0xfffffe08
40ee87:	8b ce                	mov    %esi,%ecx
40ee89:	89 45 fc             	mov    %eax,-0x4(%ebp)
40ee8c:	ff 52 6c             	call   *0x6c(%edx)