408afe:	a3 b4 25 43 00       	mov    %eax,0x4325b4
408b03:	8b 45 9c             	mov    -0x64(%ebp),%eax
408b06:	39 38                	cmp    %edi,(%eax)
408b08:	75 0a                	jne    0x408b14
408b0a:	39 78 04             	cmp    %edi,0x4(%eax)
408b0d:	75 05                	jne    0x408b14
408b0f:	39 78 08             	cmp    %edi,0x8(%eax)
408b12:	74 03                	je     0x408b17
408b14:	33 ff                	xor    %edi,%edi
408b16:	47                   	inc    %edi
408b17:	56                   	push   %esi
408b18:	ff 15 e0 a3 44 00    	call   *0x44a3e0
408b1e:	59                   	pop    %ecx
408b1f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
408b22:	8b c7                	mov    %edi,%eax
408b24:	5f                   	pop    %edi
408b25:	33 cd                	xor    %ebp,%ecx
408b27:	5e                   	pop    %esi
408b28:	e8 03 e0 00 00       	call   0x416b30
408b2d:	c9                   	leave
408b2e:	c3                   	ret
408b2f:	57                   	push   %edi
408b30:	68 74 23 00 00       	push   $0x2374
408b35:	eb 06                	jmp    0x408b3d
408b37:	57                   	push   %edi
408b38:	68 df 23 00 40       	push   $0x400023df
408b3d:	e8 a2 ed ff ff       	call   0x4078e4
408b42:	59                   	pop    %ecx
408b43:	59                   	pop    %ecx
408b44:	33 c9                	xor    %ecx,%ecx
408b46:	41                   	inc    %ecx
408b47:	e8 cc f1 00 00       	call   0x417d18
408b4c:	cc                   	int3
408b4d:	8b 15 bc 67 43 00    	mov    0x4367bc,%edx
408b53:	33 c0                	xor    %eax,%eax
408b55:	53                   	push   %ebx
408b56:	8b d9                	mov    %ecx,%ebx
408b58:	85 d2                	test   %edx,%edx
408b5a:	7e 1e                	jle    0x408b7a
408b5c:	8b 0d b8 67 43 00    	mov    0x4367b8,%ecx
408b62:	39 1c 81             	cmp    %ebx,(%ecx,%eax,4)
408b65:	75 28                	jne    0x408b8f
408b67:	3b c2                	cmp    %edx,%eax
408b69:	7d 0f                	jge    0x408b7a
408b6b:	4a                   	dec    %edx
408b6c:	3b c2                	cmp    %edx,%eax
408b6e:	0f 8c 29 2a 01 00    	jl     0x41b59d
408b74:	89 15 bc 67 43 00    	mov    %edx,0x4367bc
408b7a:	53                   	push   %ebx
408b7b:	ff 15 d8 a0 44 00    	call   *0x44a0d8
408b81:	5b                   	pop    %ebx
408b82:	85 c0                	test   %eax,%eax
408b84:	74 03                	je     0x408b89
408b86:	33 c0                	xor    %eax,%eax
408b88:	c3                   	ret
408b89:	ff 25 80 a0 44 00    	jmp    *0x44a080
408b8f:	40                   	inc    %eax
408b90:	3b c2                	cmp    %edx,%eax
408b92:	7c ce                	jl     0x408b62
408b94:	eb d1                	jmp    0x408b67
408b96:	8b ff                	mov    %edi,%edi
408b98:	56                   	push   %esi
408b99:	6a 04                	push   $0x4
408b9b:	6a 08                	push   $0x8
408b9d:	ff 15 34 a1 44 00    	call   *0x44a134
408ba3:	50                   	push   %eax
408ba4:	ff 15 28 a1 44 00    	call   *0x44a128
408baa:	8b f0                	mov    %eax,%esi
408bac:	85 f6                	test   %esi,%esi
408bae:	0f 84 1c 2a 01 00    	je     0x41b5d0
408bb4:	e8 1b 1e 00 00       	call   0x40a9d4
408bb9:	89 06                	mov    %eax,(%esi)
408bbb:	85 c0                	test   %eax,%eax
408bbd:	0f 84 ef 29 01 00    	je     0x41b5b2
408bc3:	8b c6                	mov    %esi,%eax
408bc5:	5e                   	pop    %esi
408bc6:	c3                   	ret
408bc7:	68 40 02 00 00       	push   $0x240
408bcc:	68 b0 c9 42 00       	push   $0x42c9b0
408bd1:	e8 ba f1 00 00       	call   0x417d90
408bd6:	89 95 b4 fd ff ff    	mov    %edx,-0x24c(%ebp)
408bdc:	8b f1                	mov    %ecx,%esi
408bde:	6a 5c                	push   $0x5c
408be0:	58                   	pop    %eax
408be1:	66 39 06             	cmp    %ax,(%esi)
408be4:	0f 84 ea 29 01 00    	je     0x41b5d4
408bea:	8d 8d bc fd ff ff    	lea    -0x244(%ebp),%ecx
408bf0:	e8 39 ce 00 00       	call   0x415a2e
408bf5:	33 c0                	xor    %eax,%eax
408bf7:	38 45 c8             	cmp    %al,-0x38(%ebp)
408bfa:	0f 94 c0             	sete   %al
408bfd:	48                   	dec    %eax
408bfe:	25 e3 7e 00 00       	and    $0x7ee3,%eax
408c03:	05 04 01 00 00       	add    $0x104,%eax
408c08:	50                   	push   %eax
408c09:	8d 8d bc fd ff ff    	lea    -0x244(%ebp),%ecx
408c0f:	e8 dc 57 00 00       	call   0x40e3f0
408c14:	85 c0                	test   %eax,%eax
408c16:	0f 88 58 2b 01 00    	js     0x41b774
408c1c:	8b ce                	mov    %esi,%ecx
408c1e:	e8 8d 20 00 00       	call   0x40acb0
408c23:	8b f8                	mov    %eax,%edi
408c25:	89 bd b0 fd ff ff    	mov    %edi,-0x250(%ebp)
408c2b:	85 ff                	test   %edi,%edi
408c2d:	0f 84 41 2b 01 00    	je     0x41b774
408c33:	33 db                	xor    %ebx,%ebx
408c35:	89 5d fc             	mov    %ebx,-0x4(%ebp)
408c38:	8b cf                	mov    %edi,%ecx
408c3a:	8d 51 02             	lea    0x2(%ecx),%edx
408c3d:	66 8b 01             	mov    (%ecx),%ax
408c40:	83 c1 02             	add    $0x2,%ecx
408c43:	66 3b c3             	cmp    %bx,%ax
408c46:	75 f5                	jne    0x408c3d
408c48:	2b ca                	sub    %edx,%ecx
408c4a:	d1 f9                	sar    $1,%ecx
408c4c:	8d 04 4f             	lea    (%edi,%ecx,2),%eax
408c4f:	8b c8                	mov    %eax,%ecx
408c51:	89 85 b8 fd ff ff    	mov    %eax,-0x248(%ebp)
408c57:	3b cf                	cmp    %edi,%ecx
408c59:	76 0b                	jbe    0x408c66
408c5b:	66 83 78 fe 20       	cmpw   $0x20,-0x2(%eax)
408c60:	0f 84 82 29 01 00    	je     0x41b5e8
408c66:	33 c9                	xor    %ecx,%ecx
408c68:	66 89 08             	mov    %cx,(%eax)
408c6b:	8b 45 c4             	mov    -0x3c(%ebp),%eax
408c6e:	85 c0                	test   %eax,%eax
408c70:	0f 84 7a 29 01 00    	je     0x41b5f0
408c76:	50                   	push   %eax
408c77:	ff 75 cc             	push   -0x34(%ebp)
408c7a:	ff 15 c4 a1 44 00    	call   *0x44a1c4
408c80:	8b 45 c4             	mov    -0x3c(%ebp),%eax
408c83:	85 c0                	test   %eax,%eax
408c85:	0f 84 70 29 01 00    	je     0x41b5fb
408c8b:	0f b7 00             	movzwl (%eax),%eax
408c8e:	50                   	push   %eax
408c8f:	ff 15 18 a4 44 00    	call   *0x44a418
408c95:	59                   	pop    %ecx
408c96:	66 8b d8             	mov    %ax,%bx
408c99:	6a 3d                	push   $0x3d
408c9b:	58                   	pop    %eax
408c9c:	66 89 45 d8          	mov    %ax,-0x28(%ebp)
408ca0:	0f b7 0f             	movzwl (%edi),%ecx
408ca3:	51                   	push   %ecx
408ca4:	ff 15 d0 a3 44 00    	call   *0x44a3d0
408caa:	59                   	pop    %ecx
408cab:	6a 3a                	push   $0x3a
408cad:	5e                   	pop    %esi
408cae:	85 c0                	test   %eax,%eax
408cb0:	0f 84 50 29 01 00    	je     0x41b606
408cb6:	66 39 77 02          	cmp    %si,0x2(%edi)
408cba:	0f 85 46 29 01 00    	jne    0x41b606
408cc0:	0f b7 07             	movzwl (%edi),%eax
408cc3:	50                   	push   %eax
408cc4:	ff 15 18 a4 44 00    	call   *0x44a418
408cca:	59                   	pop    %ecx
408ccb:	66 89 45 da          	mov    %ax,-0x26(%ebp)
408ccf:	66 89 75 dc          	mov    %si,-0x24(%ebp)
408cd3:	33 c0                	xor    %eax,%eax
408cd5:	66 89 45 de          	mov    %ax,-0x22(%ebp)
408cd9:	8b 45 c4             	mov    -0x3c(%ebp),%eax
408cdc:	85 c0                	test   %eax,%eax
408cde:	0f 84 2b 29 01 00    	je     0x41b60f
408ce4:	8d 8d b8 fd ff ff    	lea    -0x248(%ebp),%ecx
408cea:	51                   	push   %ecx
408ceb:	50                   	push   %eax
408cec:	ff 75 cc             	push   -0x34(%ebp)
408cef:	57                   	push   %edi
408cf0:	ff 15 a4 a0 44 00    	call   *0x44a0a4
408cf6:	85 c0                	test   %eax,%eax
408cf8:	0f 84 1c 29 01 00    	je     0x41b61a
408cfe:	3b 45 cc             	cmp    -0x34(%ebp),%eax
408d01:	0f 87 45 29 01 00    	ja     0x41b64c
408d07:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
408d0a:	85 c9                	test   %ecx,%ecx
408d0c:	8b c1                	mov    %ecx,%eax
408d0e:	0f 84 60 29 01 00    	je     0x41b674
408d14:	33 d2                	xor    %edx,%edx
408d16:	66 39 10             	cmp    %dx,(%eax)
408d19:	0f 84 28 2a 01 00    	je     0x41b747
408d1f:	85 c9                	test   %ecx,%ecx
408d21:	8b c1                	mov    %ecx,%eax
408d23:	0f 84 56 29 01 00    	je     0x41b67f
408d29:	66 39 70 02          	cmp    %si,0x2(%eax)
408d2d:	0f 85 14 2a 01 00    	jne    0x41b747
408d33:	85 c9                	test   %ecx,%ecx
408d35:	8b d1                	mov    %ecx,%edx
408d37:	0f 84 4d 29 01 00    	je     0x41b68a
408d3d:	8d 72 02             	lea    0x2(%edx),%esi
408d40:	66 8b 02             	mov    (%edx),%ax
408d43:	83 c2 02             	add    $0x2,%edx
408d46:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
408d4a:	75 f4                	jne    0x408d40
408d4c:	2b d6                	sub    %esi,%edx
408d4e:	d1 fa                	sar    $1,%edx
408d50:	85 c9                	test   %ecx,%ecx
408d52:	0f 84 3d 29 01 00    	je     0x41b695
408d58:	8d 14 51             	lea    (%ecx,%edx,2),%edx
408d5b:	8b f2                	mov    %edx,%esi
408d5d:	89 95 b8 fd ff ff    	mov    %edx,-0x248(%ebp)
408d63:	8d 8d bc fd ff ff    	lea    -0x244(%ebp),%ecx
408d69:	e8 14 f0 00 00       	call   0x417d82
408d6e:	83 c0 06             	add    $0x6,%eax
408d71:	3b f0                	cmp    %eax,%esi
408d73:	76 0d                	jbe    0x408d82
408d75:	6a 5c                	push   $0x5c
408d77:	58                   	pop    %eax
408d78:	66 39 42 fe          	cmp    %ax,-0x2(%edx)
408d7c:	0f 84 f5 00 00 00    	je     0x408e77
408d82:	33 c0                	xor    %eax,%eax
408d84:	66 89 02             	mov    %ax,(%edx)
408d87:	8b 45 c4             	mov    -0x3c(%ebp),%eax
408d8a:	85 c0                	test   %eax,%eax
408d8c:	0f 84 0e 29 01 00    	je     0x41b6a0
408d92:	50                   	push   %eax
408d93:	ff 15 98 a0 44 00    	call   *0x44a098
408d99:	83 f8 ff             	cmp    $0xffffffff,%eax
408d9c:	0f 84 09 29 01 00    	je     0x41b6ab
408da2:	80 3d 55 67 43 00 00 	cmpb   $0x0,0x436755
408da9:	74 1e                	je     0x408dc9
408dab:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
408dae:	85 c9                	test   %ecx,%ecx
408db0:	0f 84 1d 29 01 00    	je     0x41b6d3
408db6:	33 c0                	xor    %eax,%eax
408db8:	50                   	push   %eax
408db9:	8b 55 cc             	mov    -0x34(%ebp),%edx
408dbc:	e8 46 74 00 00       	call   0x410207
408dc1:	85 c0                	test   %eax,%eax
408dc3:	0f 84 83 28 01 00    	je     0x41b64c
408dc9:	8b b5 b4 fd ff ff    	mov    -0x24c(%ebp),%esi
408dcf:	83 fe 02             	cmp    $0x2,%esi
408dd2:	74 26                	je     0x408dfa
408dd4:	8b 45 c4             	mov    -0x3c(%ebp),%eax
408dd7:	85 c0                	test   %eax,%eax
408dd9:	0f 84 ff 28 01 00    	je     0x41b6de
408ddf:	50                   	push   %eax
408de0:	ff 15 98 a0 44 00    	call   *0x44a098
408de6:	83 f8 ff             	cmp    $0xffffffff,%eax
408de9:	0f 84 fa 28 01 00    	je     0x41b6e9
408def:	a9 10 04 00 00       	test   $0x410,%eax
408df4:	0f 84 05 29 01 00    	je     0x41b6ff
408dfa:	85 f6                	test   %esi,%esi
408dfc:	74 0b                	je     0x408e09
408dfe:	83 fe 01             	cmp    $0x1,%esi
408e01:	75 1c                	jne    0x408e1f
408e03:	66 3b 5d da          	cmp    -0x26(%ebp),%bx
408e07:	75 16                	jne    0x408e1f
408e09:	8b 45 c4             	mov    -0x3c(%ebp),%eax
408e0c:	85 c0                	test   %eax,%eax
408e0e:	74 77                	je     0x408e87
408e10:	50                   	push   %eax
408e11:	ff 15 d8 a1 44 00    	call   *0x44a1d8
408e17:	85 c0                	test   %eax,%eax
408e19:	0f 84 fb 27 01 00    	je     0x41b61a
408e1f:	8b 55 c4             	mov    -0x3c(%ebp),%edx
408e22:	85 d2                	test   %edx,%edx
408e24:	74 69                	je     0x408e8f
408e26:	8d 4d d8             	lea    -0x28(%ebp),%ecx
408e29:	e8 48 1b 00 00       	call   0x40a976
408e2e:	85 c0                	test   %eax,%eax
408e30:	0f 85 f1 28 01 00    	jne    0x41b727
408e36:	8b 0d f8 8d 44 00    	mov    0x448df8,%ecx
408e3c:	85 c9                	test   %ecx,%ecx
408e3e:	74 57                	je     0x408e97
408e40:	33 c0                	xor    %eax,%eax
408e42:	50                   	push   %eax
408e43:	8b 15 00 8e 44 00    	mov    0x448e00,%edx
408e49:	e8 50 00 00 00       	call   0x408e9e
408e4e:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
408e55:	e8 25 00 00 00       	call   0x408e7f
408e5a:	8d 8d bc fd ff ff    	lea    -0x244(%ebp),%ecx
408e60:	e8 81 d3 00 00       	call   0x4161e6
408e65:	33 c0                	xor    %eax,%eax
408e67:	8b 4d f0             	mov    -0x10(%ebp),%ecx
408e6a:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
408e71:	59                   	pop    %ecx
408e72:	5f                   	pop    %edi
408e73:	5e                   	pop    %esi
408e74:	5b                   	pop    %ebx
408e75:	c9                   	leave
408e76:	c3                   	ret
408e77:	8d 56 fe             	lea    -0x2(%esi),%edx
408e7a:	e9 dc fe ff ff       	jmp    0x408d5b
408e7f:	8b cf                	mov    %edi,%ecx
408e81:	e8 da 4d 00 00       	call   0x40dc60
408e86:	c3                   	ret
408e87:	8d 85 bc fd ff ff    	lea    -0x244(%ebp),%eax
408e8d:	eb 81                	jmp    0x408e10
408e8f:	8d 95 bc fd ff ff    	lea    -0x244(%ebp),%edx
408e95:	eb 8f                	jmp    0x408e26
408e97:	b9 f0 8b 44 00       	mov    $0x448bf0,%ecx
408e9c:	eb a2                	jmp    0x408e40
408e9e:	8b ff                	mov    %edi,%edi
408ea0:	55                   	push   %ebp
408ea1:	8b ec                	mov    %esp,%ebp
408ea3:	83 e4 f8             	and    $0xfffffff8,%esp
408ea6:	83 ec 10             	sub    $0x10,%esp
408ea9:	a1 b4 e0 42 00       	mov    0x42e0b4,%eax
408eae:	33 c4                	xor    %esp,%eax
408eb0:	89 44 24 0c          	mov    %eax,0xc(%esp)
408eb4:	66 83 7d 08 00       	cmpw   $0x0,0x8(%ebp)
408eb9:	56                   	push   %esi
408eba:	57                   	push   %edi
408ebb:	8b fa                	mov    %edx,%edi
408ebd:	8b f1                	mov    %ecx,%esi
408ebf:	75 1d                	jne    0x408ede
408ec1:	56                   	push   %esi
408ec2:	57                   	push   %edi
408ec3:	ff 15 c4 a1 44 00    	call   *0x44a1c4
408ec9:	33 c0                	xor    %eax,%eax
408ecb:	8b 4c 24 14          	mov    0x14(%esp),%ecx
408ecf:	5f                   	pop    %edi
408ed0:	5e                   	pop    %esi
408ed1:	33 cc                	xor    %esp,%ecx
408ed3:	e8 58 dc 00 00       	call   0x416b30
408ed8:	8b e5                	mov    %ebp,%esp
408eda:	5d                   	pop    %ebp
408edb:	c2 04 00             	ret    $0x4
408ede:	6a 3d                	push   $0x3d
408ee0:	58                   	pop    %eax
408ee1:	ff 75 08             	push   0x8(%ebp)
408ee4:	66 89 44 24 10       	mov    %ax,0x10(%esp)
408ee9:	ff 15 18 a4 44 00    	call   *0x44a418
408eef:	59                   	pop    %ecx
408ef0:	66 89 44 24 0e       	mov    %ax,0xe(%esp)
408ef5:	8d 4c 24 0c          	lea    0xc(%esp),%ecx
408ef9:	6a 3a                	push   $0x3a
408efb:	58                   	pop    %eax
408efc:	66 89 44 24 10       	mov    %ax,0x10(%esp)
408f01:	33 c0                	xor    %eax,%eax
408f03:	66 89 44 24 12       	mov    %ax,0x12(%esp)
408f08:	e8 21 5d 00 00       	call   0x40ec2e
408f0d:	85 c0                	test   %eax,%eax
408f0f:	0f 84 72 28 01 00    	je     0x41b787
408f15:	50                   	push   %eax
408f16:	8b d7                	mov    %edi,%edx
408f18:	8b ce                	mov    %esi,%ecx
408f1a:	e8 81 64 00 00       	call   0x40f3a0
408f1f:	eb a8                	jmp    0x408ec9
408f21:	8b ff                	mov    %edi,%edi
408f23:	55                   	push   %ebp
408f24:	8b ec                	mov    %esp,%ebp
408f26:	83 ec 14             	sub    $0x14,%esp
408f29:	53                   	push   %ebx
408f2a:	56                   	push   %esi
408f2b:	57                   	push   %edi
408f2c:	8b f9                	mov    %ecx,%edi
408f2e:	c7 45 f8 6c 20 40 00 	movl   $0x40206c,-0x8(%ebp)
408f35:	33 db                	xor    %ebx,%ebx
408f37:	89 1d a8 67 43 00    	mov    %ebx,0x4367a8
408f3d:	8b 0f                	mov    (%edi),%ecx