40ebf0:	50                   	push   %eax
40ebf1:	ff 15 98 a0 44 00    	call   *0x44a098
40ebf7:	83 f8 ff             	cmp    $0xffffffff,%eax
40ebfa:	75 18                	jne    0x40ec14
40ebfc:	8b 45 e8             	mov    -0x18(%ebp),%eax
40ebff:	89 9d d0 fd ff ff    	mov    %ebx,-0x230(%ebp)
40ec05:	85 c0                	test   %eax,%eax
40ec07:	74 1d                	je     0x40ec26
40ec09:	33 c9                	xor    %ecx,%ecx
40ec0b:	66 89 0c 58          	mov    %cx,(%eax,%ebx,2)
40ec0f:	e9 51 fe ff ff       	jmp    0x40ea65
40ec14:	a8 10                	test   $0x10,%al
40ec16:	0f 84 49 fe ff ff    	je     0x40ea65
40ec1c:	eb de                	jmp    0x40ebfc
40ec1e:	8d 85 e0 fd ff ff    	lea    -0x220(%ebp),%eax
40ec24:	eb ca                	jmp    0x40ebf0
40ec26:	8d 85 e0 fd ff ff    	lea    -0x220(%ebp),%eax
40ec2c:	eb db                	jmp    0x40ec09
40ec2e:	8b ff                	mov    %edi,%edi
40ec30:	55                   	push   %ebp
40ec31:	8b ec                	mov    %esp,%ebp
40ec33:	83 e4 f8             	and    $0xfffffff8,%esp
40ec36:	51                   	push   %ecx
40ec37:	53                   	push   %ebx
40ec38:	56                   	push   %esi
40ec39:	57                   	push   %edi
40ec3a:	bb 00 20 00 00       	mov    $0x2000,%ebx
40ec3f:	bf 90 e5 42 00       	mov    $0x42e590,%edi
40ec44:	53                   	push   %ebx
40ec45:	8b f1                	mov    %ecx,%esi
40ec47:	33 c0                	xor    %eax,%eax
40ec49:	57                   	push   %edi
40ec4a:	56                   	push   %esi
40ec4b:	66 a3 90 e5 42 00    	mov    %ax,0x42e590
40ec51:	ff 15 d0 a1 44 00    	call   *0x44a1d0
40ec57:	85 c0                	test   %eax,%eax
40ec59:	74 09                	je     0x40ec64
40ec5b:	8b c7                	mov    %edi,%eax
40ec5d:	5f                   	pop    %edi
40ec5e:	5e                   	pop    %esi
40ec5f:	5b                   	pop    %ebx
40ec60:	8b e5                	mov    %ebp,%esp
40ec62:	5d                   	pop    %ebp
40ec63:	c3                   	ret
40ec64:	80 3d 55 67 43 00 00 	cmpb   $0x0,0x436755
40ec6b:	0f 84 ac 00 00 00    	je     0x40ed1d
40ec71:	68 94 23 40 00       	push   $0x402394
40ec76:	56                   	push   %esi
40ec77:	ff 15 40 a4 44 00    	call   *0x44a440
40ec7d:	59                   	pop    %ecx
40ec7e:	59                   	pop    %ecx
40ec7f:	85 c0                	test   %eax,%eax
40ec81:	0f 84 da 00 00 00    	je     0x40ed61
40ec87:	68 9c 23 40 00       	push   $0x40239c
40ec8c:	56                   	push   %esi
40ec8d:	ff 15 40 a4 44 00    	call   *0x44a440
40ec93:	59                   	pop    %ecx
40ec94:	59                   	pop    %ecx
40ec95:	85 c0                	test   %eax,%eax
40ec97:	0f 84 aa 00 00 00    	je     0x40ed47
40ec9d:	68 d8 23 40 00       	push   $0x4023d8
40eca2:	56                   	push   %esi
40eca3:	ff 15 40 a4 44 00    	call   *0x44a440
40eca9:	59                   	pop    %ecx
40ecaa:	59                   	pop    %ecx
40ecab:	85 c0                	test   %eax,%eax
40ecad:	0f 84 cc 00 00 00    	je     0x40ed7f
40ecb3:	68 c0 23 40 00       	push   $0x4023c0
40ecb8:	56                   	push   %esi
40ecb9:	ff 15 40 a4 44 00    	call   *0x44a440
40ecbf:	59                   	pop    %ecx
40ecc0:	59                   	pop    %ecx
40ecc1:	85 c0                	test   %eax,%eax
40ecc3:	0f 84 26 f1 00 00    	je     0x41ddef
40ecc9:	68 b4 23 40 00       	push   $0x4023b4
40ecce:	56                   	push   %esi
40eccf:	ff 15 40 a4 44 00    	call   *0x44a440
40ecd5:	59                   	pop    %ecx
40ecd6:	59                   	pop    %ecx
40ecd7:	85 c0                	test   %eax,%eax
40ecd9:	0f 84 92 00 00 00    	je     0x40ed71
40ecdf:	68 f4 23 40 00       	push   $0x4023f4
40ece4:	56                   	push   %esi
40ece5:	ff 15 40 a4 44 00    	call   *0x44a440
40eceb:	59                   	pop    %ecx
40ecec:	59                   	pop    %ecx
40eced:	85 c0                	test   %eax,%eax
40ecef:	74 33                	je     0x40ed24
40ecf1:	68 ac 24 40 00       	push   $0x4024ac
40ecf6:	56                   	push   %esi
40ecf7:	ff 15 40 a4 44 00    	call   *0x44a440
40ecfd:	59                   	pop    %ecx
40ecfe:	59                   	pop    %ecx
40ecff:	85 c0                	test   %eax,%eax
40ed01:	0f 84 f3 f0 00 00    	je     0x41ddfa
40ed07:	68 80 24 40 00       	push   $0x402480
40ed0c:	56                   	push   %esi
40ed0d:	ff 15 40 a4 44 00    	call   *0x44a440
40ed13:	59                   	pop    %ecx
40ed14:	59                   	pop    %ecx
40ed15:	85 c0                	test   %eax,%eax
40ed17:	0f 84 e9 f0 00 00    	je     0x41de06
40ed1d:	33 c0                	xor    %eax,%eax
40ed1f:	e9 39 ff ff ff       	jmp    0x40ec5d
40ed24:	53                   	push   %ebx
40ed25:	33 d2                	xor    %edx,%edx
40ed27:	33 c9                	xor    %ecx,%ecx
40ed29:	57                   	push   %edi
40ed2a:	42                   	inc    %edx
40ed2b:	e8 e0 a5 ff ff       	call   0x409310
40ed30:	03 c0                	add    %eax,%eax
40ed32:	3d 00 40 00 00       	cmp    $0x4000,%eax
40ed37:	73 4a                	jae    0x40ed83
40ed39:	33 c9                	xor    %ecx,%ecx
40ed3b:	66 89 88 90 e5 42 00 	mov    %cx,0x42e590(%eax)
40ed42:	e9 14 ff ff ff       	jmp    0x40ec5b
40ed47:	ff 35 dc 65 43 00    	push   0x4365dc
40ed4d:	68 50 20 40 00       	push   $0x402050
40ed52:	53                   	push   %ebx
40ed53:	57                   	push   %edi
40ed54:	e8 66 ad ff ff       	call   0x409abf
40ed59:	83 c4 10             	add    $0x10,%esp
40ed5c:	e9 fa fe ff ff       	jmp    0x40ec5b
40ed61:	6a 00                	push   $0x0
40ed63:	8b d3                	mov    %ebx,%edx
40ed65:	8b cf                	mov    %edi,%ecx
40ed67:	e8 32 a1 ff ff       	call   0x408e9e
40ed6c:	e9 ea fe ff ff       	jmp    0x40ec5b
40ed71:	53                   	push   %ebx
40ed72:	33 d2                	xor    %edx,%edx
40ed74:	33 c9                	xor    %ecx,%ecx
40ed76:	57                   	push   %edi
40ed77:	42                   	inc    %edx
40ed78:	e8 d7 7a ff ff       	call   0x406854
40ed7d:	eb b1                	jmp    0x40ed30
40ed7f:	6a 02                	push   $0x2
40ed81:	eb ca                	jmp    0x40ed4d
40ed83:	e8 f0 7e 00 00       	call   0x416c78
40ed88:	cc                   	int3
40ed89:	cc                   	int3
40ed8a:	cc                   	int3
40ed8b:	cc                   	int3
40ed8c:	cc                   	int3
40ed8d:	cc                   	int3
40ed8e:	cc                   	int3
40ed8f:	cc                   	int3
40ed90:	8b ff                	mov    %edi,%edi
40ed92:	55                   	push   %ebp
40ed93:	8b ec                	mov    %esp,%ebp
40ed95:	51                   	push   %ecx
40ed96:	53                   	push   %ebx
40ed97:	56                   	push   %esi
40ed98:	8b d9                	mov    %ecx,%ebx
40ed9a:	89 55 fc             	mov    %edx,-0x4(%ebp)
40ed9d:	33 f6                	xor    %esi,%esi
40ed9f:	57                   	push   %edi
40eda0:	85 db                	test   %ebx,%ebx
40eda2:	78 2d                	js     0x40edd1
40eda4:	bf 88 16 40 00       	mov    $0x401688,%edi
40eda9:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
40edb0:	8b 47 f8             	mov    -0x8(%edi),%eax
40edb3:	85 c0                	test   %eax,%eax
40edb5:	74 12                	je     0x40edc9
40edb7:	50                   	push   %eax
40edb8:	52                   	push   %edx
40edb9:	ff 15 40 a4 44 00    	call   *0x44a440
40edbf:	83 c4 08             	add    $0x8,%esp
40edc2:	85 c0                	test   %eax,%eax
40edc4:	74 1a                	je     0x40ede0
40edc6:	8b 55 fc             	mov    -0x4(%ebp),%edx
40edc9:	46                   	inc    %esi
40edca:	83 c7 18             	add    $0x18,%edi
40edcd:	3b f3                	cmp    %ebx,%esi
40edcf:	7e df                	jle    0x40edb0
40edd1:	c7 05 d8 e0 42 00 ff 	movl   $0xffffffff,0x42e0d8
40edd8:	ff ff ff
40eddb:	83 c8 ff             	or     $0xffffffff,%eax
40edde:	eb 1a                	jmp    0x40edfa
40ede0:	0f b7 0f             	movzwl (%edi),%ecx
40ede3:	f6 c1 04             	test   $0x4,%cl
40ede6:	0f 85 33 f0 00 00    	jne    0x41de1f
40edec:	8b 45 08             	mov    0x8(%ebp),%eax
40edef:	89 35 d8 e0 42 00    	mov    %esi,0x42e0d8
40edf5:	66 89 08             	mov    %cx,(%eax)
40edf8:	8b c6                	mov    %esi,%eax
40edfa:	5f                   	pop    %edi
40edfb:	5e                   	pop    %esi
40edfc:	5b                   	pop    %ebx
40edfd:	8b e5                	mov    %ebp,%esp
40edff:	5d                   	pop    %ebp
40ee00:	c2 04 00             	ret    $0x4
40ee03:	8b ff                	mov    %edi,%edi
40ee05:	55                   	push   %ebp
40ee06:	8b ec                	mov    %esp,%ebp
40ee08:	81 ec b0 02 00 00    	sub    $0x2b0,%esp
40ee0e:	a1 b4 e0 42 00       	mov    0x42e0b4,%eax
40ee13:	33 c5                	xor    %ebp,%eax
40ee15:	89 45 f8             	mov    %eax,-0x8(%ebp)
40ee18:	8b 45 10             	mov    0x10(%ebp),%eax
40ee1b:	53                   	push   %ebx
40ee1c:	56                   	push   %esi
40ee1d:	8b 75 0c             	mov    0xc(%ebp),%esi
40ee20:	89 8d 90 fd ff ff    	mov    %ecx,-0x270(%ebp)
40ee26:	8b 4d 08             	mov    0x8(%ebp),%ecx
40ee29:	57                   	push   %edi
40ee2a:	8b fa                	mov    %edx,%edi
40ee2c:	89 8d 80 fd ff ff    	mov    %ecx,-0x280(%ebp)
40ee32:	33 d2                	xor    %edx,%edx
40ee34:	89 b5 84 fd ff ff    	mov    %esi,-0x27c(%ebp)
40ee3a:	8b da                	mov    %edx,%ebx
40ee3c:	89 85 78 fd ff ff    	mov    %eax,-0x288(%ebp)
40ee42:	89 11                	mov    %edx,(%ecx)
40ee44:	38 15 55 67 43 00    	cmp    %dl,0x436755
40ee4a:	74 06                	je     0x40ee52
40ee4c:	66 83 3f 7e          	cmpw   $0x7e,(%edi)
40ee50:	74 55                	je     0x40eea7
40ee52:	0f b7 07             	movzwl (%edi),%eax
40ee55:	66 85 c0             	test   %ax,%ax
40ee58:	74 1f                	je     0x40ee79
40ee5a:	50                   	push   %eax
40ee5b:	56                   	push   %esi
40ee5c:	ff 15 04 a4 44 00    	call   *0x44a404
40ee62:	59                   	pop    %ecx
40ee63:	59                   	pop    %ecx
40ee64:	85 c0                	test   %eax,%eax
40ee66:	75 24                	jne    0x40ee8c
40ee68:	8b 85 80 fd ff ff    	mov    -0x280(%ebp),%eax
40ee6e:	33 c9                	xor    %ecx,%ecx
40ee70:	39 08                	cmp    %ecx,(%eax)
40ee72:	b8 b8 20 40 00       	mov    $0x4020b8,%eax
40ee77:	75 02                	jne    0x40ee7b
40ee79:	8b c3                	mov    %ebx,%eax
40ee7b:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40ee7e:	5f                   	pop    %edi
40ee7f:	5e                   	pop    %esi
40ee80:	33 cd                	xor    %ebp,%ecx
40ee82:	5b                   	pop    %ebx
40ee83:	e8 a8 7c 00 00       	call   0x416b30
40ee88:	c9                   	leave
40ee89:	c2 0c 00             	ret    $0xc
40ee8c:	8b 9d 78 fd ff ff    	mov    -0x288(%ebp),%ebx
40ee92:	2b c6                	sub    %esi,%eax
40ee94:	d1 f8                	sar    $1,%eax
40ee96:	8b 1c 83             	mov    (%ebx,%eax,4),%ebx
40ee99:	8b 85 80 fd ff ff    	mov    -0x280(%ebp),%eax
40ee9f:	ff 00                	incl   (%eax)
40eea1:	85 db                	test   %ebx,%ebx
40eea3:	75 d4                	jne    0x40ee79
40eea5:	eb c1                	jmp    0x40ee68
40eea7:	8d 47 fe             	lea    -0x2(%edi),%eax
40eeaa:	89 9d a0 fd ff ff    	mov    %ebx,-0x260(%ebp)
40eeb0:	83 c7 02             	add    $0x2,%edi
40eeb3:	89 95 94 fd ff ff    	mov    %edx,-0x26c(%ebp)
40eeb9:	89 85 88 fd ff ff    	mov    %eax,-0x278(%ebp)
40eebf:	66 39 17             	cmp    %dx,(%edi)
40eec2:	0f 84 69 ef 00 00    	je     0x41de31
40eec8:	ba ce ff 00 00       	mov    $0xffce,%edx
40eecd:	8d 8d 98 fd ff ff    	lea    -0x268(%ebp),%ecx
40eed3:	e8 2d 2b 00 00       	call   0x411a05
40eed8:	8b b5 98 fd ff ff    	mov    -0x268(%ebp),%esi
40eede:	89 b5 7c fd ff ff    	mov    %esi,-0x284(%ebp)
40eee4:	85 f6                	test   %esi,%esi
40eee6:	0f 84 45 ef 00 00    	je     0x41de31
40eeec:	0f b7 07             	movzwl (%edi),%eax
40eeef:	8b cf                	mov    %edi,%ecx
40eef1:	89 8d 98 fd ff ff    	mov    %ecx,-0x268(%ebp)
40eef7:	6a 24                	push   $0x24
40eef9:	5a                   	pop    %edx
40eefa:	66 85 c0             	test   %ax,%ax
40eefd:	74 34                	je     0x40ef33
40eeff:	8b d0                	mov    %eax,%edx
40ef01:	6a 24                	push   $0x24
40ef03:	58                   	pop    %eax
40ef04:	66 3b d0             	cmp    %ax,%dx
40ef07:	74 21                	je     0x40ef2a
40ef09:	52                   	push   %edx
40ef0a:	ff 15 10 a4 44 00    	call   *0x44a410
40ef10:	59                   	pop    %ecx
40ef11:	0f b7 c0             	movzwl %ax,%eax
40ef14:	50                   	push   %eax
40ef15:	68 a8 25 40 00       	push   $0x4025a8
40ef1a:	ff 15 04 a4 44 00    	call   *0x44a404
40ef20:	59                   	pop    %ecx
40ef21:	59                   	pop    %ecx
40ef22:	85 c0                	test   %eax,%eax
40ef24:	0f 85 b3 02 00 00    	jne    0x40f1dd
40ef2a:	8b 8d 98 fd ff ff    	mov    -0x268(%ebp),%ecx
40ef30:	6a 24                	push   $0x24
40ef32:	5a                   	pop    %edx
40ef33:	33 c0                	xor    %eax,%eax
40ef35:	89 85 9c fd ff ff    	mov    %eax,-0x264(%ebp)
40ef3b:	0f b7 07             	movzwl (%edi),%eax
40ef3e:	66 85 c0             	test   %ax,%ax
40ef41:	0f 84 4a 04 00 00    	je     0x40f391
40ef47:	66 3b c2             	cmp    %dx,%ax
40ef4a:	0f 84 30 ef 00 00    	je     0x41de80
40ef50:	50                   	push   %eax
40ef51:	ff b5 84 fd ff ff    	push   -0x27c(%ebp)
40ef57:	ff 15 04 a4 44 00    	call   *0x44a404
40ef5d:	59                   	pop    %ecx
40ef5e:	59                   	pop    %ecx
40ef5f:	85 c0                	test   %eax,%eax
40ef61:	0f 84 da 03 00 00    	je     0x40f341
40ef67:	0f b7 07             	movzwl (%edi),%eax
40ef6a:	50                   	push   %eax
40ef6b:	ff b5 84 fd ff ff    	push   -0x27c(%ebp)
40ef71:	ff 15 04 a4 44 00    	call   *0x44a404
40ef77:	59                   	pop    %ecx
40ef78:	59                   	pop    %ecx
40ef79:	85 c0                	test   %eax,%eax
40ef7b:	0f 84 a4 ef 00 00    	je     0x41df25
40ef81:	2b 85 84 fd ff ff    	sub    -0x27c(%ebp),%eax
40ef87:	8b 9d 78 fd ff ff    	mov    -0x288(%ebp),%ebx
40ef8d:	d1 f8                	sar    $1,%eax
40ef8f:	8b 1c 83             	mov    (%ebx,%eax,4),%ebx
40ef92:	85 db                	test   %ebx,%ebx
40ef94:	74 16                	je     0x40efac
40ef96:	6a 22                	push   $0x22
40ef98:	58                   	pop    %eax
40ef99:	66 39 03             	cmp    %ax,(%ebx)
40ef9c:	0f 84 02 03 00 00    	je     0x40f2a4
40efa2:	66 83 3f 30          	cmpw   $0x30,(%edi)
40efa6:	0f 84 b8 02 00 00    	je     0x40f264
40efac:	8b 85 a0 fd ff ff    	mov    -0x260(%ebp),%eax
40efb2:	8b 95 9c fd ff ff    	mov    -0x264(%ebp),%edx
40efb8:	2b bd 88 fd ff ff    	sub    -0x278(%ebp),%edi
40efbe:	8b 8d 80 fd ff ff    	mov    -0x280(%ebp),%ecx
40efc4:	83 c7 02             	add    $0x2,%edi
40efc7:	d1 ff                	sar    $1,%edi
40efc9:	4f                   	dec    %edi
40efca:	89 39                	mov    %edi,(%ecx)
40efcc:	85 db                	test   %ebx,%ebx
40efce:	0f 84 fc 01 00 00    	je     0x40f1d0
40efd4:	33 c9                	xor    %ecx,%ecx
40efd6:	66 39 0b             	cmp    %cx,(%ebx)
40efd9:	0f 84 f1 01 00 00    	je     0x40f1d0
40efdf:	a9 00 c0 00 00       	test   $0xc000,%eax
40efe4:	75 16                	jne    0x40effc
40efe6:	8b cb                	mov    %ebx,%ecx
40efe8:	e8 c3 bc ff ff       	call   0x40acb0
40efed:	8b d8                	mov    %eax,%ebx
40efef:	56                   	push   %esi
40eff0:	ff 15 e0 a3 44 00    	call   *0x44a3e0
40eff6:	59                   	pop    %ecx
40eff7:	e9 a5 fe ff ff       	jmp    0x40eea1
40effc:	33 c0                	xor    %eax,%eax
40effe:	66 89 06             	mov    %ax,(%esi)
40f001:	85 d2                	test   %edx,%edx
40f003:	0f 85 64 ef 00 00    	jne    0x41df6d
40f009:	8d 85 8c fd ff ff    	lea    -0x274(%ebp),%eax