411a2c:	53                   	push   %ebx
411a2d:	53                   	push   %ebx
411a2e:	53                   	push   %ebx
411a2f:	53                   	push   %ebx
411a30:	e8 1b 5c ff ff       	call   0x407650
411a35:	83 c4 14             	add    $0x14,%esp
411a38:	8b c6                	mov    %esi,%eax
411a3a:	eb d5                	jmp    0x411a11
411a3c:	39 5d 14             	cmp    %ebx,0x14(%ebp)
411a3f:	75 04                	jne    0x411a45
411a41:	88 1e                	mov    %bl,(%esi)
411a43:	eb ca                	jmp    0x411a0f
411a45:	8b 55 10             	mov    0x10(%ebp),%edx
411a48:	3b d3                	cmp    %ebx,%edx
411a4a:	75 04                	jne    0x411a50
411a4c:	88 1e                	mov    %bl,(%esi)
411a4e:	eb d1                	jmp    0x411a21
411a50:	83 7d 14 ff          	cmpl   $0xffffffff,0x14(%ebp)
411a54:	8b c6                	mov    %esi,%eax
411a56:	75 0f                	jne    0x411a67
411a58:	8a 0a                	mov    (%edx),%cl
411a5a:	88 08                	mov    %cl,(%eax)
411a5c:	40                   	inc    %eax
411a5d:	42                   	inc    %edx
411a5e:	3a cb                	cmp    %bl,%cl
411a60:	74 1e                	je     0x411a80
411a62:	4f                   	dec    %edi
411a63:	75 f3                	jne    0x411a58
411a65:	eb 19                	jmp    0x411a80
411a67:	8a 0a                	mov    (%edx),%cl
411a69:	88 08                	mov    %cl,(%eax)
411a6b:	40                   	inc    %eax
411a6c:	42                   	inc    %edx
411a6d:	3a cb                	cmp    %bl,%cl
411a6f:	74 08                	je     0x411a79
411a71:	4f                   	dec    %edi
411a72:	74 05                	je     0x411a79
411a74:	ff 4d 14             	decl   0x14(%ebp)
411a77:	75 ee                	jne    0x411a67
411a79:	39 5d 14             	cmp    %ebx,0x14(%ebp)
411a7c:	75 02                	jne    0x411a80
411a7e:	88 18                	mov    %bl,(%eax)
411a80:	3b fb                	cmp    %ebx,%edi
411a82:	75 8b                	jne    0x411a0f
411a84:	83 7d 14 ff          	cmpl   $0xffffffff,0x14(%ebp)
411a88:	75 0f                	jne    0x411a99
411a8a:	8b 45 0c             	mov    0xc(%ebp),%eax
411a8d:	6a 50                	push   $0x50
411a8f:	88 5c 06 ff          	mov    %bl,-0x1(%esi,%eax,1)
411a93:	58                   	pop    %eax
411a94:	e9 78 ff ff ff       	jmp    0x411a11
411a99:	88 1e                	mov    %bl,(%esi)
411a9b:	e8 5a 79 ff ff       	call   0x4093fa
411aa0:	6a 22                	push   $0x22
411aa2:	59                   	pop    %ecx
411aa3:	89 08                	mov    %ecx,(%eax)
411aa5:	8b f1                	mov    %ecx,%esi
411aa7:	eb 82                	jmp    0x411a2b
411aa9:	55                   	push   %ebp
411aaa:	8b ec                	mov    %esp,%ebp
411aac:	33 c0                	xor    %eax,%eax
411aae:	53                   	push   %ebx
411aaf:	33 db                	xor    %ebx,%ebx
411ab1:	40                   	inc    %eax
411ab2:	39 5d 0c             	cmp    %ebx,0xc(%ebp)
411ab5:	7c 46                	jl     0x411afd
411ab7:	56                   	push   %esi
411ab8:	57                   	push   %edi
411ab9:	85 c0                	test   %eax,%eax
411abb:	74 3e                	je     0x411afb
411abd:	8b 45 0c             	mov    0xc(%ebp),%eax
411ac0:	03 c3                	add    %ebx,%eax
411ac2:	99                   	cltd
411ac3:	2b c2                	sub    %edx,%eax
411ac5:	8b f0                	mov    %eax,%esi
411ac7:	8b 45 08             	mov    0x8(%ebp),%eax
411aca:	d1 fe                	sar    $1,%esi
411acc:	8d 3c f0             	lea    (%eax,%esi,8),%edi
411acf:	ff 37                	push   (%edi)
411ad1:	8b 45 10             	mov    0x10(%ebp),%eax
411ad4:	ff 30                	push   (%eax)
411ad6:	e8 16 38 00 00       	call   0x4152f1
411adb:	85 c0                	test   %eax,%eax
411add:	59                   	pop    %ecx
411ade:	59                   	pop    %ecx
411adf:	75 0a                	jne    0x411aeb
411ae1:	8b 4d 10             	mov    0x10(%ebp),%ecx
411ae4:	83 c7 04             	add    $0x4,%edi
411ae7:	89 39                	mov    %edi,(%ecx)
411ae9:	eb 0b                	jmp    0x411af6
411aeb:	7d 06                	jge    0x411af3
411aed:	4e                   	dec    %esi
411aee:	89 75 0c             	mov    %esi,0xc(%ebp)
411af1:	eb 03                	jmp    0x411af6
411af3:	8d 5e 01             	lea    0x1(%esi),%ebx
411af6:	3b 5d 0c             	cmp    0xc(%ebp),%ebx
411af9:	7e be                	jle    0x411ab9
411afb:	5f                   	pop    %edi
411afc:	5e                   	pop    %esi
411afd:	33 c9                	xor    %ecx,%ecx
411aff:	85 c0                	test   %eax,%eax
411b01:	0f 94 c1             	sete   %cl
411b04:	5b                   	pop    %ebx
411b05:	8b c1                	mov    %ecx,%eax
411b07:	5d                   	pop    %ebp
411b08:	c3                   	ret
411b09:	55                   	push   %ebp
411b0a:	8b ec                	mov    %esp,%ebp
411b0c:	83 ec 0c             	sub    $0xc,%esp
411b0f:	a1 20 c5 41 00       	mov    0x41c520,%eax
411b14:	33 c5                	xor    %ebp,%eax
411b16:	89 45 fc             	mov    %eax,-0x4(%ebp)
411b19:	56                   	push   %esi
411b1a:	8b f1                	mov    %ecx,%esi
411b1c:	85 f6                	test   %esi,%esi
411b1e:	74 31                	je     0x411b51
411b20:	80 3e 00             	cmpb   $0x0,(%esi)
411b23:	74 2c                	je     0x411b51
411b25:	68 70 8f 41 00       	push   $0x418f70
411b2a:	56                   	push   %esi
411b2b:	e8 60 93 ff ff       	call   0x40ae90
411b30:	85 c0                	test   %eax,%eax
411b32:	59                   	pop    %ecx
411b33:	59                   	pop    %ecx
411b34:	74 1b                	je     0x411b51
411b36:	68 6c 8f 41 00       	push   $0x418f6c
411b3b:	56                   	push   %esi
411b3c:	e8 4f 93 ff ff       	call   0x40ae90
411b41:	85 c0                	test   %eax,%eax
411b43:	59                   	pop    %ecx
411b44:	59                   	pop    %ecx
411b45:	75 25                	jne    0x411b6c
411b47:	6a 08                	push   $0x8
411b49:	8d 45 f4             	lea    -0xc(%ebp),%eax
411b4c:	50                   	push   %eax
411b4d:	6a 0b                	push   $0xb
411b4f:	eb 0b                	jmp    0x411b5c
411b51:	6a 08                	push   $0x8
411b53:	8d 45 f4             	lea    -0xc(%ebp),%eax
411b56:	50                   	push   %eax
411b57:	68 04 10 00 00       	push   $0x1004
411b5c:	ff 77 1c             	push   0x1c(%edi)
411b5f:	ff 15 68 71 41 00    	call   *0x417168
411b65:	85 c0                	test   %eax,%eax
411b67:	74 0a                	je     0x411b73
411b69:	8d 75 f4             	lea    -0xc(%ebp),%esi
411b6c:	56                   	push   %esi
411b6d:	e8 42 33 00 00       	call   0x414eb4
411b72:	59                   	pop    %ecx
411b73:	8b 4d fc             	mov    -0x4(%ebp),%ecx
411b76:	33 cd                	xor    %ebp,%ecx
411b78:	5e                   	pop    %esi
411b79:	e8 b7 43 ff ff       	call   0x405f35
411b7e:	c9                   	leave
411b7f:	c3                   	ret
411b80:	33 c0                	xor    %eax,%eax
411b82:	66 8b 4c 24 04       	mov    0x4(%esp),%cx
411b87:	66 3b 88 58 8f 41 00 	cmp    0x418f58(%eax),%cx
411b8e:	74 0b                	je     0x411b9b
411b90:	40                   	inc    %eax
411b91:	40                   	inc    %eax
411b92:	83 f8 14             	cmp    $0x14,%eax
411b95:	72 eb                	jb     0x411b82
411b97:	33 c0                	xor    %eax,%eax
411b99:	40                   	inc    %eax
411b9a:	c3                   	ret
411b9b:	33 c0                	xor    %eax,%eax
411b9d:	c3                   	ret
411b9e:	56                   	push   %esi
411b9f:	33 f6                	xor    %esi,%esi
411ba1:	eb 23                	jmp    0x411bc6
411ba3:	8a c1                	mov    %cl,%al
411ba5:	2c 61                	sub    $0x61,%al
411ba7:	42                   	inc    %edx
411ba8:	3c 05                	cmp    $0x5,%al
411baa:	77 05                	ja     0x411bb1
411bac:	80 c1 d9             	add    $0xd9,%cl
411baf:	eb 0b                	jmp    0x411bbc
411bb1:	8a c1                	mov    %cl,%al
411bb3:	2c 41                	sub    $0x41,%al
411bb5:	3c 05                	cmp    $0x5,%al
411bb7:	77 03                	ja     0x411bbc
411bb9:	80 c1 f9             	add    $0xf9,%cl
411bbc:	0f be c1             	movsbl %cl,%eax
411bbf:	c1 e6 04             	shl    $0x4,%esi
411bc2:	8d 74 06 d0          	lea    -0x30(%esi,%eax,1),%esi
411bc6:	8a 0a                	mov    (%edx),%cl
411bc8:	84 c9                	test   %cl,%cl
411bca:	75 d7                	jne    0x411ba3
411bcc:	8b c6                	mov    %esi,%eax
411bce:	5e                   	pop    %esi
411bcf:	c3                   	ret
411bd0:	33 c0                	xor    %eax,%eax
411bd2:	8a 0a                	mov    (%edx),%cl
411bd4:	42                   	inc    %edx
411bd5:	80 f9 41             	cmp    $0x41,%cl
411bd8:	7c 05                	jl     0x411bdf
411bda:	80 f9 5a             	cmp    $0x5a,%cl
411bdd:	7e 08                	jle    0x411be7
411bdf:	80 e9 61             	sub    $0x61,%cl
411be2:	80 f9 19             	cmp    $0x19,%cl
411be5:	77 03                	ja     0x411bea
411be7:	40                   	inc    %eax
411be8:	eb e8                	jmp    0x411bd2
411bea:	c3                   	ret
411beb:	55                   	push   %ebp
411bec:	8b ec                	mov    %esp,%ebp
411bee:	83 ec 7c             	sub    $0x7c,%esp
411bf1:	a1 20 c5 41 00       	mov    0x41c520,%eax
411bf6:	33 c5                	xor    %ebp,%eax
411bf8:	89 45 fc             	mov    %eax,-0x4(%ebp)
411bfb:	56                   	push   %esi
411bfc:	57                   	push   %edi
411bfd:	8b 7d 08             	mov    0x8(%ebp),%edi
411c00:	e8 47 a9 ff ff       	call   0x40c54c
411c05:	8b f0                	mov    %eax,%esi
411c07:	8b d7                	mov    %edi,%edx
411c09:	81 c6 9c 00 00 00    	add    $0x9c,%esi
411c0f:	e8 8a ff ff ff       	call   0x411b9e
411c14:	8b f8                	mov    %eax,%edi
411c16:	6a 78                	push   $0x78
411c18:	8d 45 84             	lea    -0x7c(%ebp),%eax
411c1b:	50                   	push   %eax
411c1c:	8b 46 14             	mov    0x14(%esi),%eax
411c1f:	f7 d8                	neg    %eax
411c21:	1b c0                	sbb    %eax,%eax
411c23:	25 05 f0 ff ff       	and    $0xfffff005,%eax
411c28:	05 02 10 00 00       	add    $0x1002,%eax
411c2d:	50                   	push   %eax
411c2e:	57                   	push   %edi
411c2f:	ff 15 68 71 41 00    	call   *0x417168
411c35:	85 c0                	test   %eax,%eax
411c37:	75 06                	jne    0x411c3f
411c39:	21 46 08             	and    %eax,0x8(%esi)
411c3c:	40                   	inc    %eax
411c3d:	eb 32                	jmp    0x411c71
411c3f:	8d 45 84             	lea    -0x7c(%ebp),%eax
411c42:	50                   	push   %eax
411c43:	ff 76 04             	push   0x4(%esi)
411c46:	e8 a6 36 00 00       	call   0x4152f1
411c4b:	85 c0                	test   %eax,%eax
411c4d:	59                   	pop    %ecx
411c4e:	59                   	pop    %ecx
411c4f:	75 15                	jne    0x411c66
411c51:	57                   	push   %edi
411c52:	e8 29 ff ff ff       	call   0x411b80
411c57:	85 c0                	test   %eax,%eax
411c59:	59                   	pop    %ecx
411c5a:	74 0a                	je     0x411c66
411c5c:	83 4e 08 04          	orl    $0x4,0x8(%esi)
411c60:	89 7e 1c             	mov    %edi,0x1c(%esi)
411c63:	89 7e 18             	mov    %edi,0x18(%esi)
411c66:	8b 46 08             	mov    0x8(%esi),%eax
411c69:	c1 e8 02             	shr    $0x2,%eax
411c6c:	f7 d0                	not    %eax
411c6e:	83 e0 01             	and    $0x1,%eax
411c71:	8b 4d fc             	mov    -0x4(%ebp),%ecx
411c74:	5f                   	pop    %edi
411c75:	33 cd                	xor    %ebp,%ecx
411c77:	5e                   	pop    %esi
411c78:	e8 b8 42 ff ff       	call   0x405f35
411c7d:	c9                   	leave
411c7e:	c2 04 00             	ret    $0x4
411c81:	55                   	push   %ebp
411c82:	8b ec                	mov    %esp,%ebp
411c84:	83 ec 7c             	sub    $0x7c,%esp
411c87:	a1 20 c5 41 00       	mov    0x41c520,%eax
411c8c:	33 c5                	xor    %ebp,%eax
411c8e:	89 45 fc             	mov    %eax,-0x4(%ebp)
411c91:	56                   	push   %esi
411c92:	6a 78                	push   $0x78
411c94:	8d 45 84             	lea    -0x7c(%ebp),%eax
411c97:	50                   	push   %eax
411c98:	8b 45 08             	mov    0x8(%ebp),%eax
411c9b:	25 ff 03 00 00       	and    $0x3ff,%eax
411ca0:	6a 01                	push   $0x1
411ca2:	0d 00 04 00 00       	or     $0x400,%eax
411ca7:	50                   	push   %eax
411ca8:	8b f1                	mov    %ecx,%esi
411caa:	ff 15 68 71 41 00    	call   *0x417168
411cb0:	85 c0                	test   %eax,%eax
411cb2:	75 04                	jne    0x411cb8
411cb4:	33 c0                	xor    %eax,%eax
411cb6:	eb 2e                	jmp    0x411ce6
411cb8:	8d 55 84             	lea    -0x7c(%ebp),%edx
411cbb:	e8 de fe ff ff       	call   0x411b9e
411cc0:	39 45 08             	cmp    %eax,0x8(%ebp)
411cc3:	74 1e                	je     0x411ce3
411cc5:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
411cc9:	74 18                	je     0x411ce3
411ccb:	8b 36                	mov    (%esi),%esi
411ccd:	57                   	push   %edi
411cce:	8b d6                	mov    %esi,%edx
411cd0:	e8 fb fe ff ff       	call   0x411bd0
411cd5:	56                   	push   %esi
411cd6:	8b f8                	mov    %eax,%edi
411cd8:	e8 83 4a ff ff       	call   0x406760
411cdd:	59                   	pop    %ecx
411cde:	3b f8                	cmp    %eax,%edi
411ce0:	5f                   	pop    %edi
411ce1:	74 d1                	je     0x411cb4
411ce3:	33 c0                	xor    %eax,%eax
411ce5:	40                   	inc    %eax
411ce6:	8b 4d fc             	mov    -0x4(%ebp),%ecx
411ce9:	33 cd                	xor    %ebp,%ecx
411ceb:	5e                   	pop    %esi
411cec:	e8 44 42 ff ff       	call   0x405f35
411cf1:	c9                   	leave
411cf2:	c3                   	ret
411cf3:	55                   	push   %ebp
411cf4:	8b ec                	mov    %esp,%ebp
411cf6:	83 ec 7c             	sub    $0x7c,%esp
411cf9:	a1 20 c5 41 00       	mov    0x41c520,%eax
411cfe:	33 c5                	xor    %ebp,%eax
411d00:	89 45 fc             	mov    %eax,-0x4(%ebp)
411d03:	53                   	push   %ebx
411d04:	56                   	push   %esi
411d05:	57                   	push   %edi
411d06:	8b 7d 08             	mov    0x8(%ebp),%edi
411d09:	e8 3e a8 ff ff       	call   0x40c54c
411d0e:	8b f0                	mov    %eax,%esi
411d10:	8b d7                	mov    %edi,%edx
411d12:	81 c6 9c 00 00 00    	add    $0x9c,%esi
411d18:	e8 81 fe ff ff       	call   0x411b9e
411d1d:	8b 1d 68 71 41 00    	mov    0x417168,%ebx
411d23:	8b f8                	mov    %eax,%edi
411d25:	6a 78                	push   $0x78
411d27:	8d 45 84             	lea    -0x7c(%ebp),%eax
411d2a:	50                   	push   %eax
411d2b:	8b 46 14             	mov    0x14(%esi),%eax
411d2e:	f7 d8                	neg    %eax
411d30:	1b c0                	sbb    %eax,%eax
411d32:	25 05 f0 ff ff       	and    $0xfffff005,%eax
411d37:	05 02 10 00 00       	add    $0x1002,%eax
411d3c:	50                   	push   %eax
411d3d:	57                   	push   %edi
411d3e:	ff d3                	call   *%ebx
411d40:	85 c0                	test   %eax,%eax
411d42:	75 0c                	jne    0x411d50
411d44:	83 66 08 00          	andl   $0x0,0x8(%esi)
411d48:	33 c0                	xor    %eax,%eax
411d4a:	40                   	inc    %eax
411d4b:	e9 62 01 00 00       	jmp    0x411eb2
411d50:	8d 45 84             	lea    -0x7c(%ebp),%eax
411d53:	50                   	push   %eax
411d54:	ff 76 04             	push   0x4(%esi)
411d57:	e8 95 35 00 00       	call   0x4152f1
411d5c:	85 c0                	test   %eax,%eax
411d5e:	59                   	pop    %ecx
411d5f:	59                   	pop    %ecx