404937:	0f 85 df 05 00 00    	jne    0x404f1c
40493d:	83 c1 20             	add    $0x20,%ecx
404940:	c7 85 98 fb ff ff 01 	movl   $0x1,-0x468(%ebp)
404947:	00 00 00
40494a:	89 8d e4 fb ff ff    	mov    %ecx,-0x41c(%ebp)
404950:	83 8d f8 fb ff ff 40 	orl    $0x40,-0x408(%ebp)
404957:	83 bd f4 fb ff ff 00 	cmpl   $0x0,-0x40c(%ebp)
40495e:	8d 9d fc fb ff ff    	lea    -0x404(%ebp),%ebx
404964:	b8 00 02 00 00       	mov    $0x200,%eax
404969:	89 9d f0 fb ff ff    	mov    %ebx,-0x410(%ebp)
40496f:	89 85 ec fb ff ff    	mov    %eax,-0x414(%ebp)
404975:	0f 8d 92 02 00 00    	jge    0x404c0d
40497b:	c7 85 f4 fb ff ff 06 	movl   $0x6,-0x40c(%ebp)
404982:	00 00 00
404985:	e9 ec 02 00 00       	jmp    0x404c76
40498a:	f7 85 f8 fb ff ff 30 	testl  $0x830,-0x408(%ebp)
404991:	08 00 00
404994:	0f 85 c8 00 00 00    	jne    0x404a62
40499a:	83 8d f8 fb ff ff 20 	orl    $0x20,-0x408(%ebp)
4049a1:	e9 bc 00 00 00       	jmp    0x404a62
4049a6:	f7 85 f8 fb ff ff 30 	testl  $0x830,-0x408(%ebp)
4049ad:	08 00 00
4049b0:	75 07                	jne    0x4049b9
4049b2:	83 8d f8 fb ff ff 20 	orl    $0x20,-0x408(%ebp)
4049b9:	8b 9d f4 fb ff ff    	mov    -0x40c(%ebp),%ebx
4049bf:	83 fb ff             	cmp    $0xffffffff,%ebx
4049c2:	75 05                	jne    0x4049c9
4049c4:	bb ff ff ff 7f       	mov    $0x7fffffff,%ebx
4049c9:	83 c7 04             	add    $0x4,%edi
4049cc:	f6 85 f8 fb ff ff 20 	testb  $0x20,-0x408(%ebp)
4049d3:	89 bd e0 fb ff ff    	mov    %edi,-0x420(%ebp)
4049d9:	8b 7f fc             	mov    -0x4(%edi),%edi
4049dc:	89 bd f0 fb ff ff    	mov    %edi,-0x410(%ebp)
4049e2:	0f 84 f7 04 00 00    	je     0x404edf
4049e8:	85 ff                	test   %edi,%edi
4049ea:	75 0b                	jne    0x4049f7
4049ec:	a1 e0 2d 41 00       	mov    0x412de0,%eax
4049f1:	89 85 f0 fb ff ff    	mov    %eax,-0x410(%ebp)
4049f7:	83 a5 ec fb ff ff 00 	andl   $0x0,-0x414(%ebp)
4049fe:	8b b5 f0 fb ff ff    	mov    -0x410(%ebp),%esi
404a04:	85 db                	test   %ebx,%ebx
404a06:	0f 8e 10 05 00 00    	jle    0x404f1c
404a0c:	8a 06                	mov    (%esi),%al
404a0e:	84 c0                	test   %al,%al
404a10:	0f 84 06 05 00 00    	je     0x404f1c
404a16:	8d 8d a8 fb ff ff    	lea    -0x458(%ebp),%ecx
404a1c:	0f b6 c0             	movzbl %al,%eax
404a1f:	51                   	push   %ecx
404a20:	50                   	push   %eax
404a21:	e8 f5 62 00 00       	call   0x40ad1b
404a26:	59                   	pop    %ecx
404a27:	59                   	pop    %ecx
404a28:	85 c0                	test   %eax,%eax
404a2a:	74 01                	je     0x404a2d
404a2c:	46                   	inc    %esi
404a2d:	46                   	inc    %esi
404a2e:	ff 85 ec fb ff ff    	incl   -0x414(%ebp)
404a34:	39 9d ec fb ff ff    	cmp    %ebx,-0x414(%ebp)
404a3a:	7c d0                	jl     0x404a0c
404a3c:	e9 db 04 00 00       	jmp    0x404f1c
404a41:	83 e8 58             	sub    $0x58,%eax
404a44:	0f 84 f5 02 00 00    	je     0x404d3f
404a4a:	2b c3                	sub    %ebx,%eax
404a4c:	0f 84 94 00 00 00    	je     0x404ae6
404a52:	2b c2                	sub    %edx,%eax
404a54:	0f 84 f6 fe ff ff    	je     0x404950
404a5a:	2b c3                	sub    %ebx,%eax
404a5c:	0f 85 ba 04 00 00    	jne    0x404f1c
404a62:	0f b7 07             	movzwl (%edi),%eax
404a65:	83 c7 04             	add    $0x4,%edi
404a68:	33 f6                	xor    %esi,%esi
404a6a:	46                   	inc    %esi
404a6b:	f6 85 f8 fb ff ff 20 	testb  $0x20,-0x408(%ebp)
404a72:	89 b5 d4 fb ff ff    	mov    %esi,-0x42c(%ebp)
404a78:	89 bd e0 fb ff ff    	mov    %edi,-0x420(%ebp)
404a7e:	89 85 a4 fb ff ff    	mov    %eax,-0x45c(%ebp)
404a84:	74 42                	je     0x404ac8
404a86:	88 85 c8 fb ff ff    	mov    %al,-0x438(%ebp)
404a8c:	8d 85 a8 fb ff ff    	lea    -0x458(%ebp),%eax
404a92:	50                   	push   %eax
404a93:	8b 85 a8 fb ff ff    	mov    -0x458(%ebp),%eax
404a99:	c6 85 c9 fb ff ff 00 	movb   $0x0,-0x437(%ebp)
404aa0:	ff b0 ac 00 00 00    	push   0xac(%eax)
404aa6:	8d 85 c8 fb ff ff    	lea    -0x438(%ebp),%eax
404aac:	50                   	push   %eax
404aad:	8d 85 fc fb ff ff    	lea    -0x404(%ebp),%eax
404ab3:	50                   	push   %eax
404ab4:	e8 32 61 00 00       	call   0x40abeb
404ab9:	83 c4 10             	add    $0x10,%esp
404abc:	85 c0                	test   %eax,%eax
404abe:	79 0f                	jns    0x404acf
404ac0:	89 b5 b8 fb ff ff    	mov    %esi,-0x448(%ebp)
404ac6:	eb 07                	jmp    0x404acf
404ac8:	66 89 85 fc fb ff ff 	mov    %ax,-0x404(%ebp)
404acf:	8d 85 fc fb ff ff    	lea    -0x404(%ebp),%eax
404ad5:	89 85 f0 fb ff ff    	mov    %eax,-0x410(%ebp)
404adb:	89 b5 ec fb ff ff    	mov    %esi,-0x414(%ebp)
404ae1:	e9 36 04 00 00       	jmp    0x404f1c
404ae6:	8b 07                	mov    (%edi),%eax
404ae8:	83 c7 04             	add    $0x4,%edi
404aeb:	89 bd e0 fb ff ff    	mov    %edi,-0x420(%ebp)
404af1:	85 c0                	test   %eax,%eax
404af3:	74 3a                	je     0x404b2f
404af5:	8b 48 04             	mov    0x4(%eax),%ecx
404af8:	85 c9                	test   %ecx,%ecx
404afa:	74 33                	je     0x404b2f
404afc:	f7 85 f8 fb ff ff 00 	testl  $0x800,-0x408(%ebp)
404b03:	08 00 00
404b06:	0f bf 00             	movswl (%eax),%eax
404b09:	89 8d f0 fb ff ff    	mov    %ecx,-0x410(%ebp)
404b0f:	74 12                	je     0x404b23
404b11:	99                   	cltd
404b12:	2b c2                	sub    %edx,%eax
404b14:	c7 85 d4 fb ff ff 01 	movl   $0x1,-0x42c(%ebp)
404b1b:	00 00 00
404b1e:	e9 f1 03 00 00       	jmp    0x404f14
404b23:	83 a5 d4 fb ff ff 00 	andl   $0x0,-0x42c(%ebp)
404b2a:	e9 e7 03 00 00       	jmp    0x404f16
404b2f:	a1 e0 2d 41 00       	mov    0x412de0,%eax
404b34:	89 85 f0 fb ff ff    	mov    %eax,-0x410(%ebp)
404b3a:	50                   	push   %eax
404b3b:	e8 20 60 00 00       	call   0x40ab60
404b40:	59                   	pop    %ecx
404b41:	e9 d0 03 00 00       	jmp    0x404f16
404b46:	83 f8 70             	cmp    $0x70,%eax
404b49:	0f 8f f8 01 00 00    	jg     0x404d47
404b4f:	0f 84 e0 01 00 00    	je     0x404d35
404b55:	83 f8 65             	cmp    $0x65,%eax
404b58:	0f 8c be 03 00 00    	jl     0x404f1c
404b5e:	83 f8 67             	cmp    $0x67,%eax
404b61:	0f 8e e9 fd ff ff    	jle    0x404950
404b67:	83 f8 69             	cmp    $0x69,%eax
404b6a:	74 71                	je     0x404bdd
404b6c:	83 f8 6e             	cmp    $0x6e,%eax
404b6f:	74 28                	je     0x404b99
404b71:	83 f8 6f             	cmp    $0x6f,%eax
404b74:	0f 85 a2 03 00 00    	jne    0x404f1c
404b7a:	f6 85 f8 fb ff ff 80 	testb  $0x80,-0x408(%ebp)
404b81:	c7 85 e4 fb ff ff 08 	movl   $0x8,-0x41c(%ebp)
404b88:	00 00 00
404b8b:	74 61                	je     0x404bee
404b8d:	81 8d f8 fb ff ff 00 	orl    $0x200,-0x408(%ebp)
404b94:	02 00 00
404b97:	eb 55                	jmp    0x404bee
404b99:	8b 37                	mov    (%edi),%esi
404b9b:	83 c7 04             	add    $0x4,%edi
404b9e:	89 bd e0 fb ff ff    	mov    %edi,-0x420(%ebp)
404ba4:	e8 9e 5f 00 00       	call   0x40ab47
404ba9:	85 c0                	test   %eax,%eax
404bab:	0f 84 63 05 00 00    	je     0x405114
404bb1:	f6 85 f8 fb ff ff 20 	testb  $0x20,-0x408(%ebp)
404bb8:	74 0c                	je     0x404bc6
404bba:	66 8b 85 e8 fb ff ff 	mov    -0x418(%ebp),%ax
404bc1:	66 89 06             	mov    %ax,(%esi)
404bc4:	eb 08                	jmp    0x404bce
404bc6:	8b 85 e8 fb ff ff    	mov    -0x418(%ebp),%eax
404bcc:	89 06                	mov    %eax,(%esi)
404bce:	c7 85 b8 fb ff ff 01 	movl   $0x1,-0x448(%ebp)
404bd5:	00 00 00
404bd8:	e9 f4 04 00 00       	jmp    0x4050d1
404bdd:	83 8d f8 fb ff ff 40 	orl    $0x40,-0x408(%ebp)
404be4:	c7 85 e4 fb ff ff 0a 	movl   $0xa,-0x41c(%ebp)
404beb:	00 00 00
404bee:	8b 8d f8 fb ff ff    	mov    -0x408(%ebp),%ecx
404bf4:	f7 c1 00 80 00 00    	test   $0x8000,%ecx
404bfa:	0f 84 a7 01 00 00    	je     0x404da7
404c00:	8b 07                	mov    (%edi),%eax
404c02:	8b 57 04             	mov    0x4(%edi),%edx
404c05:	83 c7 08             	add    $0x8,%edi
404c08:	e9 d3 01 00 00       	jmp    0x404de0
404c0d:	75 16                	jne    0x404c25
404c0f:	66 83 bd e4 fb ff ff 	cmpw   $0x67,-0x41c(%ebp)
404c16:	67
404c17:	75 5d                	jne    0x404c76
404c19:	c7 85 f4 fb ff ff 01 	movl   $0x1,-0x40c(%ebp)
404c20:	00 00 00
404c23:	eb 51                	jmp    0x404c76
404c25:	39 85 f4 fb ff ff    	cmp    %eax,-0x40c(%ebp)
404c2b:	7e 06                	jle    0x404c33
404c2d:	89 85 f4 fb ff ff    	mov    %eax,-0x40c(%ebp)
404c33:	81 bd f4 fb ff ff a3 	cmpl   $0xa3,-0x40c(%ebp)
404c3a:	00 00 00
404c3d:	7e 37                	jle    0x404c76
404c3f:	8b b5 f4 fb ff ff    	mov    -0x40c(%ebp),%esi
404c45:	81 c6 5d 01 00 00    	add    $0x15d,%esi
404c4b:	56                   	push   %esi
404c4c:	e8 6e 1c 00 00       	call   0x4068bf
404c51:	59                   	pop    %ecx
404c52:	89 85 c4 fb ff ff    	mov    %eax,-0x43c(%ebp)
404c58:	85 c0                	test   %eax,%eax
404c5a:	74 10                	je     0x404c6c
404c5c:	89 85 f0 fb ff ff    	mov    %eax,-0x410(%ebp)
404c62:	89 b5 ec fb ff ff    	mov    %esi,-0x414(%ebp)
404c68:	8b d8                	mov    %eax,%ebx
404c6a:	eb 0a                	jmp    0x404c76
404c6c:	c7 85 f4 fb ff ff a3 	movl   $0xa3,-0x40c(%ebp)
404c73:	00 00 00
404c76:	8b 07                	mov    (%edi),%eax
404c78:	8b 35 90 f0 40 00    	mov    0x40f090,%esi
404c7e:	83 c7 08             	add    $0x8,%edi
404c81:	89 85 90 fb ff ff    	mov    %eax,-0x470(%ebp)
404c87:	8b 47 fc             	mov    -0x4(%edi),%eax
404c8a:	89 85 94 fb ff ff    	mov    %eax,-0x46c(%ebp)
404c90:	8d 85 a8 fb ff ff    	lea    -0x458(%ebp),%eax
404c96:	50                   	push   %eax
404c97:	ff b5 98 fb ff ff    	push   -0x468(%ebp)
404c9d:	0f be 85 e4 fb ff ff 	movsbl -0x41c(%ebp),%eax
404ca4:	ff b5 f4 fb ff ff    	push   -0x40c(%ebp)
404caa:	89 bd e0 fb ff ff    	mov    %edi,-0x420(%ebp)
404cb0:	50                   	push   %eax
404cb1:	ff b5 ec fb ff ff    	push   -0x414(%ebp)
404cb7:	8d 85 90 fb ff ff    	lea    -0x470(%ebp),%eax
404cbd:	53                   	push   %ebx
404cbe:	50                   	push   %eax
404cbf:	ff 35 18 2e 41 00    	push   0x412e18
404cc5:	ff d6                	call   *%esi
404cc7:	ff d0                	call   *%eax
404cc9:	8b bd f8 fb ff ff    	mov    -0x408(%ebp),%edi
404ccf:	83 c4 1c             	add    $0x1c,%esp
404cd2:	81 e7 80 00 00 00    	and    $0x80,%edi
404cd8:	74 1d                	je     0x404cf7
404cda:	83 bd f4 fb ff ff 00 	cmpl   $0x0,-0x40c(%ebp)
404ce1:	75 14                	jne    0x404cf7
404ce3:	8d 85 a8 fb ff ff    	lea    -0x458(%ebp),%eax
404ce9:	50                   	push   %eax
404cea:	53                   	push   %ebx
404ceb:	ff 35 24 2e 41 00    	push   0x412e24
404cf1:	ff d6                	call   *%esi
404cf3:	ff d0                	call   *%eax
404cf5:	59                   	pop    %ecx
404cf6:	59                   	pop    %ecx
404cf7:	66 83 bd e4 fb ff ff 	cmpw   $0x67,-0x41c(%ebp)
404cfe:	67
404cff:	75 18                	jne    0x404d19
404d01:	85 ff                	test   %edi,%edi
404d03:	75 14                	jne    0x404d19
404d05:	8d 85 a8 fb ff ff    	lea    -0x458(%ebp),%eax
404d0b:	50                   	push   %eax
404d0c:	53                   	push   %ebx
404d0d:	ff 35 20 2e 41 00    	push   0x412e20
404d13:	ff d6                	call   *%esi
404d15:	ff d0                	call   *%eax
404d17:	59                   	pop    %ecx
404d18:	59                   	pop    %ecx
404d19:	80 3b 2d             	cmpb   $0x2d,(%ebx)
404d1c:	75 11                	jne    0x404d2f
404d1e:	81 8d f8 fb ff ff 00 	orl    $0x100,-0x408(%ebp)
404d25:	01 00 00
404d28:	43                   	inc    %ebx
404d29:	89 9d f0 fb ff ff    	mov    %ebx,-0x410(%ebp)
404d2f:	53                   	push   %ebx
404d30:	e9 06 fe ff ff       	jmp    0x404b3b
404d35:	c7 85 f4 fb ff ff 08 	movl   $0x8,-0x40c(%ebp)
404d3c:	00 00 00
404d3f:	89 95 bc fb ff ff    	mov    %edx,-0x444(%ebp)
404d45:	eb 24                	jmp    0x404d6b
404d47:	83 e8 73             	sub    $0x73,%eax
404d4a:	0f 84 69 fc ff ff    	je     0x4049b9
404d50:	2b c3                	sub    %ebx,%eax
404d52:	0f 84 8c fe ff ff    	je     0x404be4
404d58:	83 e8 03             	sub    $0x3,%eax
404d5b:	0f 85 bb 01 00 00    	jne    0x404f1c
404d61:	c7 85 bc fb ff ff 27 	movl   $0x27,-0x444(%ebp)
404d68:	00 00 00
404d6b:	f6 85 f8 fb ff ff 80 	testb  $0x80,-0x408(%ebp)
404d72:	c7 85 e4 fb ff ff 10 	movl   $0x10,-0x41c(%ebp)
404d79:	00 00 00
404d7c:	0f 84 6c fe ff ff    	je     0x404bee
404d82:	6a 30                	push   $0x30
404d84:	58                   	pop    %eax
404d85:	66 89 85 cc fb ff ff 	mov    %ax,-0x434(%ebp)
404d8c:	8b 85 bc fb ff ff    	mov    -0x444(%ebp),%eax
404d92:	83 c0 51             	add    $0x51,%eax
404d95:	66 89 85 ce fb ff ff 	mov    %ax,-0x432(%ebp)
404d9c:	89 9d d8 fb ff ff    	mov    %ebx,-0x428(%ebp)
404da2:	e9 47 fe ff ff       	jmp    0x404bee
404da7:	f7 c1 00 10 00 00    	test   $0x1000,%ecx
404dad:	0f 85 4d fe ff ff    	jne    0x404c00
404db3:	83 c7 04             	add    $0x4,%edi
404db6:	f6 c1 20             	test   $0x20,%cl
404db9:	74 18                	je     0x404dd3
404dbb:	89 bd e0 fb ff ff    	mov    %edi,-0x420(%ebp)
404dc1:	f6 c1 40             	test   $0x40,%cl
404dc4:	74 06                	je     0x404dcc
404dc6:	0f bf 47 fc          	movswl -0x4(%edi),%eax
404dca:	eb 04                	jmp    0x404dd0
404dcc:	0f b7 47 fc          	movzwl -0x4(%edi),%eax
404dd0:	99                   	cltd
404dd1:	eb 13                	jmp    0x404de6
404dd3:	8b 47 fc             	mov    -0x4(%edi),%eax
404dd6:	f6 c1 40             	test   $0x40,%cl
404dd9:	74 03                	je     0x404dde
404ddb:	99                   	cltd
404ddc:	eb 02                	jmp    0x404de0
404dde:	33 d2                	xor    %edx,%edx
404de0:	89 bd e0 fb ff ff    	mov    %edi,-0x420(%ebp)
404de6:	f6 c1 40             	test   $0x40,%cl
404de9:	74 1b                	je     0x404e06
404deb:	85 d2                	test   %edx,%edx
404ded:	7f 17                	jg     0x404e06
404def:	7c 04                	jl     0x404df5
404df1:	85 c0                	test   %eax,%eax
404df3:	73 11                	jae    0x404e06
404df5:	f7 d8                	neg    %eax
404df7:	83 d2 00             	adc    $0x0,%edx
404dfa:	f7 da                	neg    %edx
404dfc:	81 8d f8 fb ff ff 00 	orl    $0x100,-0x408(%ebp)
404e03:	01 00 00
404e06:	f7 85 f8 fb ff ff 00 	testl  $0x9000,-0x408(%ebp)
404e0d:	90 00 00
404e10:	8b fa                	mov    %edx,%edi
404e12:	8b d8                	mov    %eax,%ebx
404e14:	75 02                	jne    0x404e18
404e16:	33 ff                	xor    %edi,%edi
404e18:	83 bd f4 fb ff ff 00 	cmpl   $0x0,-0x40c(%ebp)
404e1f:	7d 0c                	jge    0x404e2d
404e21:	c7 85 f4 fb ff ff 01 	movl   $0x1,-0x40c(%ebp)
404e28:	00 00 00
404e2b:	eb 1a                	jmp    0x404e47
404e2d:	83 a5 f8 fb ff ff f7 	andl   $0xfffffff7,-0x408(%ebp)
404e34:	b8 00 02 00 00       	mov    $0x200,%eax
404e39:	39 85 f4 fb ff ff    	cmp    %eax,-0x40c(%ebp)
404e3f:	7e 06                	jle    0x404e47
404e41:	89 85 f4 fb ff ff    	mov    %eax,-0x40c(%ebp)
404e47:	8b c3                	mov    %ebx,%eax
404e49:	0b c7                	or     %edi,%eax
404e4b:	75 06                	jne    0x404e53
404e4d:	21 85 d8 fb ff ff    	and    %eax,-0x428(%ebp)
404e53:	8d b5 fb fd ff ff    	lea    -0x205(%ebp),%esi
404e59:	8b 85 f4 fb ff ff    	mov    -0x40c(%ebp),%eax
404e5f:	ff 8d f4 fb ff ff    	decl   -0x40c(%ebp)
404e65:	85 c0                	test   %eax,%eax
404e67:	7f 06                	jg     0x404e6f
404e69:	8b c3                	mov    %ebx,%eax
404e6b:	0b c7                	or     %edi,%eax
404e6d:	74 2d                	je     0x404e9c
404e6f:	8b 85 e4 fb ff ff    	mov    -0x41c(%ebp),%eax
404e75:	99                   	cltd
404e76:	52                   	push   %edx
404e77:	50                   	push   %eax
404e78:	57                   	push   %edi
404e79:	53                   	push   %ebx
404e7a:	e8 f1 5e 00 00       	call   0x40ad70
404e7f:	83 c1 30             	add    $0x30,%ecx
404e82:	89 9d 8c fb ff ff    	mov    %ebx,-0x474(%ebp)
404e88:	8b d8                	mov    %eax,%ebx
404e8a:	8b fa                	mov    %edx,%edi
404e8c:	83 f9 39             	cmp    $0x39,%ecx
404e8f:	7e 06                	jle    0x404e97
404e91:	03 8d bc fb ff ff    	add    -0x444(%ebp),%ecx