412c55:	56                   	push   %esi
412c56:	57                   	push   %edi
412c57:	55                   	push   %ebp
412c58:	51                   	push   %ecx
412c59:	8b ea                	mov    %edx,%ebp
412c5b:	8b f8                	mov    %eax,%edi
412c5d:	c6 04 24 01          	movb   $0x1,(%esp)
412c61:	8b 47 0c             	mov    0xc(%edi),%eax
412c64:	8b 58 08             	mov    0x8(%eax),%ebx
412c67:	4b                   	dec    %ebx
412c68:	85 db                	test   %ebx,%ebx
412c6a:	7c 1e                	jl     0x412c8a
412c6c:	43                   	inc    %ebx
412c6d:	33 f6                	xor    %esi,%esi
412c6f:	8b 47 0c             	mov    0xc(%edi),%eax
412c72:	8b d6                	mov    %esi,%edx
412c74:	e8 03 11 00 00       	call   0x413d7c
412c79:	8b d0                	mov    %eax,%edx
412c7b:	8b c5                	mov    %ebp,%eax
412c7d:	e8 f2 07 ff ff       	call   0x403474
412c82:	84 c0                	test   %al,%al
412c84:	75 08                	jne    0x412c8e
412c86:	46                   	inc    %esi
412c87:	4b                   	dec    %ebx
412c88:	75 e5                	jne    0x412c6f
412c8a:	c6 04 24 00          	movb   $0x0,(%esp)
412c8e:	8a 04 24             	mov    (%esp),%al
412c91:	5a                   	pop    %edx
412c92:	5d                   	pop    %ebp
412c93:	5f                   	pop    %edi
412c94:	5e                   	pop    %esi
412c95:	5b                   	pop    %ebx
412c96:	c3                   	ret
412c97:	90                   	nop
412c98:	55                   	push   %ebp
412c99:	8b ec                	mov    %esp,%ebp
412c9b:	81 c4 f4 fe ff ff    	add    $0xfffffef4,%esp
412ca1:	53                   	push   %ebx
412ca2:	56                   	push   %esi
412ca3:	33 c9                	xor    %ecx,%ecx
412ca5:	89 4d fc             	mov    %ecx,-0x4(%ebp)
412ca8:	8b f2                	mov    %edx,%esi
412caa:	8b d8                	mov    %eax,%ebx
412cac:	33 c0                	xor    %eax,%eax
412cae:	55                   	push   %ebp
412caf:	68 33 2d 41 00       	push   $0x412d33
412cb4:	64 ff 30             	push   %fs:(%eax)
412cb7:	64 89 20             	mov    %esp,%fs:(%eax)
412cba:	8d 95 fc fe ff ff    	lea    -0x104(%ebp),%edx
412cc0:	8b c6                	mov    %esi,%eax
412cc2:	e8 d1 04 ff ff       	call   0x403198
412cc7:	8d 95 fc fe ff ff    	lea    -0x104(%ebp),%edx
412ccd:	8d 45 fc             	lea    -0x4(%ebp),%eax
412cd0:	e8 27 15 ff ff       	call   0x4041fc
412cd5:	8b 55 fc             	mov    -0x4(%ebp),%edx
412cd8:	8b c3                	mov    %ebx,%eax
412cda:	e8 15 ff ff ff       	call   0x412bf4
412cdf:	85 c0                	test   %eax,%eax
412ce1:	74 30                	je     0x412d13
412ce3:	8b 45 fc             	mov    -0x4(%ebp),%eax
412ce6:	89 85 f4 fe ff ff    	mov    %eax,-0x10c(%ebp)
412cec:	c6 85 f8 fe ff ff 0b 	movb   $0xb,-0x108(%ebp)
412cf3:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
412cf9:	50                   	push   %eax
412cfa:	6a 00                	push   $0x0
412cfc:	8b 0d b4 dc 46 00    	mov    0x46dcb4,%ecx
412d02:	b2 01                	mov    $0x1,%dl
412d04:	a1 a0 14 41 00       	mov    0x4114a0,%eax
412d09:	e8 52 89 ff ff       	call   0x40b660
412d0e:	e8 c1 0c ff ff       	call   0x4039d4
412d13:	8b d6                	mov    %esi,%edx
412d15:	8b 43 04             	mov    0x4(%ebx),%eax
412d18:	e8 03 0f 00 00       	call   0x413c20
412d1d:	33 c0                	xor    %eax,%eax
412d1f:	5a                   	pop    %edx
412d20:	59                   	pop    %ecx
412d21:	59                   	pop    %ecx
412d22:	64 89 10             	mov    %edx,%fs:(%eax)
412d25:	68 3a 2d 41 00       	push   $0x412d3a
412d2a:	8d 45 fc             	lea    -0x4(%ebp),%eax
412d2d:	e8 66 12 ff ff       	call   0x403f98
412d32:	c3                   	ret
412d33:	e9 64 0c ff ff       	jmp    0x40399c
412d38:	eb f0                	jmp    0x412d2a
412d3a:	5e                   	pop    %esi
412d3b:	5b                   	pop    %ebx
412d3c:	8b e5                	mov    %ebp,%esp
412d3e:	5d                   	pop    %ebp
412d3f:	c3                   	ret
412d40:	53                   	push   %ebx
412d41:	56                   	push   %esi
412d42:	8b f2                	mov    %edx,%esi
412d44:	8b d8                	mov    %eax,%ebx
412d46:	8b d6                	mov    %esi,%edx
412d48:	8b 43 04             	mov    0x4(%ebx),%eax
412d4b:	e8 88 10 00 00       	call   0x413dd8
412d50:	85 c0                	test   %eax,%eax
412d52:	0f 9d c0             	setge  %al
412d55:	5e                   	pop    %esi
412d56:	5b                   	pop    %ebx
412d57:	c3                   	ret
412d58:	53                   	push   %ebx
412d59:	56                   	push   %esi
412d5a:	8b da                	mov    %edx,%ebx
412d5c:	8b f0                	mov    %eax,%esi
412d5e:	85 db                	test   %ebx,%ebx
412d60:	74 10                	je     0x412d72
412d62:	8b c6                	mov    %esi,%eax
412d64:	e8 53 22 ff ff       	call   0x404fbc
412d69:	3b d8                	cmp    %eax,%ebx
412d6b:	74 05                	je     0x412d72
412d6d:	33 c0                	xor    %eax,%eax
412d6f:	5e                   	pop    %esi
412d70:	5b                   	pop    %ebx
412d71:	c3                   	ret
412d72:	b0 01                	mov    $0x1,%al
412d74:	5e                   	pop    %esi
412d75:	5b                   	pop    %ebx
412d76:	c3                   	ret
412d77:	90                   	nop
412d78:	53                   	push   %ebx
412d79:	56                   	push   %esi
412d7a:	57                   	push   %edi
412d7b:	8b fa                	mov    %edx,%edi
412d7d:	8b f0                	mov    %eax,%esi
412d7f:	8b 46 0c             	mov    0xc(%esi),%eax
412d82:	8b 58 08             	mov    0x8(%eax),%ebx
412d85:	4b                   	dec    %ebx
412d86:	83 fb 00             	cmp    $0x0,%ebx
412d89:	7c 25                	jl     0x412db0
412d8b:	8b d3                	mov    %ebx,%edx
412d8d:	8b 46 0c             	mov    0xc(%esi),%eax
412d90:	e8 e7 0f 00 00       	call   0x413d7c
412d95:	8b d7                	mov    %edi,%edx
412d97:	e8 bc ff ff ff       	call   0x412d58
412d9c:	84 c0                	test   %al,%al
412d9e:	74 0a                	je     0x412daa
412da0:	8b d3                	mov    %ebx,%edx
412da2:	8b 46 0c             	mov    0xc(%esi),%eax
412da5:	e8 c2 0e 00 00       	call   0x413c6c
412daa:	4b                   	dec    %ebx
412dab:	83 fb ff             	cmp    $0xffffffff,%ebx
412dae:	75 db                	jne    0x412d8b
412db0:	8b 46 04             	mov    0x4(%esi),%eax
412db3:	8b 58 08             	mov    0x8(%eax),%ebx
412db6:	4b                   	dec    %ebx
412db7:	83 fb 00             	cmp    $0x0,%ebx
412dba:	7c 25                	jl     0x412de1
412dbc:	8b d3                	mov    %ebx,%edx
412dbe:	8b 46 04             	mov    0x4(%esi),%eax
412dc1:	e8 b6 0f 00 00       	call   0x413d7c
412dc6:	8b d7                	mov    %edi,%edx
412dc8:	e8 8b ff ff ff       	call   0x412d58
412dcd:	84 c0                	test   %al,%al
412dcf:	74 0a                	je     0x412ddb
412dd1:	8b d3                	mov    %ebx,%edx
412dd3:	8b 46 04             	mov    0x4(%esi),%eax
412dd6:	e8 91 0e 00 00       	call   0x413c6c
412ddb:	4b                   	dec    %ebx
412ddc:	83 fb ff             	cmp    $0xffffffff,%ebx
412ddf:	75 db                	jne    0x412dbc
412de1:	8b 46 08             	mov    0x8(%esi),%eax
412de4:	8b 10                	mov    (%eax),%edx
412de6:	ff 52 14             	call   *0x14(%edx)
412de9:	8b d8                	mov    %eax,%ebx
412deb:	4b                   	dec    %ebx
412dec:	83 fb 00             	cmp    $0x0,%ebx
412def:	7c 25                	jl     0x412e16
412df1:	8b d3                	mov    %ebx,%edx
412df3:	8b 46 08             	mov    0x8(%esi),%eax
412df6:	8b 08                	mov    (%eax),%ecx
412df8:	ff 51 18             	call   *0x18(%ecx)
412dfb:	8b d7                	mov    %edi,%edx
412dfd:	e8 56 ff ff ff       	call   0x412d58
412e02:	84 c0                	test   %al,%al
412e04:	74 0a                	je     0x412e10
412e06:	8b d3                	mov    %ebx,%edx
412e08:	8b 46 08             	mov    0x8(%esi),%eax
412e0b:	8b 08                	mov    (%eax),%ecx
412e0d:	ff 51 48             	call   *0x48(%ecx)
412e10:	4b                   	dec    %ebx
412e11:	83 fb ff             	cmp    $0xffffffff,%ebx
412e14:	75 db                	jne    0x412df1
412e16:	5f                   	pop    %edi
412e17:	5e                   	pop    %esi
412e18:	5b                   	pop    %ebx
412e19:	c3                   	ret
412e1a:	8b c0                	mov    %eax,%eax
412e1c:	53                   	push   %ebx
412e1d:	56                   	push   %esi
412e1e:	57                   	push   %edi
412e1f:	55                   	push   %ebp
412e20:	51                   	push   %ecx
412e21:	89 14 24             	mov    %edx,(%esp)
412e24:	8b f8                	mov    %eax,%edi
412e26:	8b 47 20             	mov    0x20(%edi),%eax
412e29:	3b 04 24             	cmp    (%esp),%eax
412e2c:	74 31                	je     0x412e5f
412e2e:	8b 04 24             	mov    (%esp),%eax
412e31:	89 47 20             	mov    %eax,0x20(%edi)
412e34:	8b 47 04             	mov    0x4(%edi),%eax
412e37:	8b 70 08             	mov    0x8(%eax),%esi
412e3a:	4e                   	dec    %esi
412e3b:	85 f6                	test   %esi,%esi
412e3d:	7c 20                	jl     0x412e5f
412e3f:	46                   	inc    %esi
412e40:	33 ed                	xor    %ebp,%ebp
412e42:	8b 47 04             	mov    0x4(%edi),%eax
412e45:	8b d5                	mov    %ebp,%edx
412e47:	e8 30 0f 00 00       	call   0x413d7c
412e4c:	8b d8                	mov    %eax,%ebx
412e4e:	8b 14 24             	mov    (%esp),%edx
412e51:	8b c3                	mov    %ebx,%eax
412e53:	e8 fc fd ff ff       	call   0x412c54
412e58:	88 43 10             	mov    %al,0x10(%ebx)
412e5b:	45                   	inc    %ebp
412e5c:	4e                   	dec    %esi
412e5d:	75 e3                	jne    0x412e42
412e5f:	5a                   	pop    %edx
412e60:	5d                   	pop    %ebp
412e61:	5f                   	pop    %edi
412e62:	5e                   	pop    %esi
412e63:	5b                   	pop    %ebx
412e64:	c3                   	ret
412e65:	8d 40 00             	lea    0x0(%eax),%eax
412e68:	53                   	push   %ebx
412e69:	56                   	push   %esi
412e6a:	57                   	push   %edi
412e6b:	84 d2                	test   %dl,%dl
412e6d:	74 08                	je     0x412e77
412e6f:	83 c4 f0             	add    $0xfffffff0,%esp
412e72:	e8 f5 06 ff ff       	call   0x40356c
412e77:	8b da                	mov    %edx,%ebx
412e79:	8b f8                	mov    %eax,%edi
412e7b:	33 d2                	xor    %edx,%edx
412e7d:	8b c7                	mov    %edi,%eax
412e7f:	e8 94 03 ff ff       	call   0x403218
412e84:	b2 01                	mov    $0x1,%dl
412e86:	a1 88 18 41 00       	mov    0x411888,%eax
412e8b:	e8 88 03 ff ff       	call   0x403218
412e90:	89 47 04             	mov    %eax,0x4(%edi)
412e93:	8d 47 08             	lea    0x8(%edi),%eax
412e96:	50                   	push   %eax
412e97:	e8 80 32 ff ff       	call   0x40611c
412e9c:	8b 0d 98 19 41 00    	mov    0x411998,%ecx
412ea2:	b2 01                	mov    $0x1,%dl
412ea4:	a1 ac 29 41 00       	mov    0x4129ac,%eax
412ea9:	e8 8a fc ff ff       	call   0x412b38
412eae:	8b f0                	mov    %eax,%esi
412eb0:	8b 47 04             	mov    0x4(%edi),%eax
412eb3:	8b d6                	mov    %esi,%edx
412eb5:	e8 66 0d 00 00       	call   0x413c20
412eba:	c6 46 10 01          	movb   $0x1,0x10(%esi)
412ebe:	8b c7                	mov    %edi,%eax
412ec0:	84 db                	test   %bl,%bl
412ec2:	74 0f                	je     0x412ed3
412ec4:	e8 fb 06 ff ff       	call   0x4035c4
412ec9:	64 8f 05 00 00 00 00 	pop    %fs:0x0
412ed0:	83 c4 0c             	add    $0xc,%esp
412ed3:	8b c7                	mov    %edi,%eax
412ed5:	5f                   	pop    %edi
412ed6:	5e                   	pop    %esi
412ed7:	5b                   	pop    %ebx
412ed8:	c3                   	ret
412ed9:	8d 40 00             	lea    0x0(%eax),%eax
412edc:	53                   	push   %ebx
412edd:	56                   	push   %esi
412ede:	57                   	push   %edi
412edf:	55                   	push   %ebp
412ee0:	e8 ef 06 ff ff       	call   0x4035d4
412ee5:	8b da                	mov    %edx,%ebx
412ee7:	8b f0                	mov    %eax,%esi
412ee9:	8d 46 08             	lea    0x8(%esi),%eax
412eec:	50                   	push   %eax
412eed:	e8 c2 30 ff ff       	call   0x405fb4
412ef2:	8b 46 04             	mov    0x4(%esi),%eax
412ef5:	8b 68 08             	mov    0x8(%eax),%ebp
412ef8:	4d                   	dec    %ebp
412ef9:	85 ed                	test   %ebp,%ebp
412efb:	7c 16                	jl     0x412f13
412efd:	45                   	inc    %ebp
412efe:	33 ff                	xor    %edi,%edi
412f00:	8b 46 04             	mov    0x4(%esi),%eax
412f03:	8b d7                	mov    %edi,%edx
412f05:	e8 72 0e 00 00       	call   0x413d7c
412f0a:	e8 39 03 ff ff       	call   0x403248
412f0f:	47                   	inc    %edi
412f10:	4d                   	dec    %ebp
412f11:	75 ed                	jne    0x412f00
412f13:	8b 46 04             	mov    0x4(%esi),%eax
412f16:	e8 2d 03 ff ff       	call   0x403248
412f1b:	8b d3                	mov    %ebx,%edx
412f1d:	80 e2 fc             	and    $0xfc,%dl
412f20:	8b c6                	mov    %esi,%eax
412f22:	e8 11 03 ff ff       	call   0x403238
412f27:	84 db                	test   %bl,%bl
412f29:	7e 07                	jle    0x412f32
412f2b:	8b c6                	mov    %esi,%eax
412f2d:	e8 8a 06 ff ff       	call   0x4035bc
412f32:	5d                   	pop    %ebp
412f33:	5f                   	pop    %edi
412f34:	5e                   	pop    %esi
412f35:	5b                   	pop    %ebx
412f36:	c3                   	ret
412f37:	90                   	nop
412f38:	53                   	push   %ebx
412f39:	56                   	push   %esi
412f3a:	57                   	push   %edi
412f3b:	55                   	push   %ebp
412f3c:	51                   	push   %ecx
412f3d:	89 14 24             	mov    %edx,(%esp)
412f40:	8b e8                	mov    %eax,%ebp
412f42:	33 f6                	xor    %esi,%esi
412f44:	8b 45 04             	mov    0x4(%ebp),%eax
412f47:	8b 58 08             	mov    0x8(%eax),%ebx
412f4a:	4b                   	dec    %ebx
412f4b:	85 db                	test   %ebx,%ebx
412f4d:	7c 25                	jl     0x412f74
412f4f:	43                   	inc    %ebx
412f50:	33 ff                	xor    %edi,%edi
412f52:	8b 45 04             	mov    0x4(%ebp),%eax
412f55:	8b d7                	mov    %edi,%edx
412f57:	e8 20 0e 00 00       	call   0x413d7c
412f5c:	8b 14 24             	mov    (%esp),%edx
412f5f:	52                   	push   %edx
412f60:	8b ce                	mov    %esi,%ecx
412f62:	8b d0                	mov    %eax,%edx
412f64:	a1 ac 29 41 00       	mov    0x4129ac,%eax
412f69:	e8 5a fb ff ff       	call   0x412ac8
412f6e:	8b f0                	mov    %eax,%esi
412f70:	47                   	inc    %edi
412f71:	4b                   	dec    %ebx
412f72:	75 de                	jne    0x412f52
412f74:	8b c6                	mov    %esi,%eax
412f76:	5a                   	pop    %edx
412f77:	5d                   	pop    %ebp
412f78:	5f                   	pop    %edi
412f79:	5e                   	pop    %esi
412f7a:	5b                   	pop    %ebx
412f7b:	c3                   	ret
412f7c:	53                   	push   %ebx
412f7d:	56                   	push   %esi
412f7e:	57                   	push   %edi
412f7f:	55                   	push   %ebp
412f80:	51                   	push   %ecx
412f81:	89 14 24             	mov    %edx,(%esp)
412f84:	8b e8                	mov    %eax,%ebp
412f86:	33 ff                	xor    %edi,%edi
412f88:	8b 45 04             	mov    0x4(%ebp),%eax
412f8b:	8b 58 08             	mov    0x8(%eax),%ebx